Giả sử tôi muốn có một blog với Rails 3 trên trang web của mình và đó sẽ là điều duy nhất tôi có trên đó. Tôi muốn sử dụng Rails để thực hiện nó nhưng tôi không thích các URL Rails tạo ra. Tôi muốn các URL như thế này:Đường ray 3 URL không có tên bộ điều khiển
example.com/2012/05/10/foo
Tôi không muốn một cái gì đó như thế mà tôi biết làm thế nào để làm (với to_param):
example.com/entries/2012/05/10/foo
tôi vẫn muốn sử dụng những người trợ giúp như
new_entry_path(@entry) # -> example.com/new
entry_path(@entry) # -> example.com/2012/05/10/foo
edit_entry_path(@entry) # -> example.com/2012/05/10/foo/edit
destroy_entry_path(@entry)
form_for(@entry)
link_to(@entry.title, @entry)
v.v. sau đó tôi sẽ có ý kiến và muốn làm cho họ dễ tiếp cận như nguồn lực của mình quá, như
example.com/2012/05/10/foo/comments/5
và những url cũng phải có khả năng nhận được với những người giúp việc bình thường:
edit_entry_comment_path(@entry, @comment) # -> example.com/2012/05/10/foo/comments/5/edit
hoặc một cái gì đó như thế.
Vì vậy, có thể nhận URL mà không có tên bộ điều khiển và vẫn sử dụng các phương pháp trợ giúp url? Chỉ cần ghi đè to_param sẽ luôn thay đổi phần sau tên bộ điều khiển trong url. Nó sẽ thực sự hữu ích để có được một số mã ví dụ.
Tại sao điều này lại bị bỏ phiếu? Đó là câu trả lời đúng ... – jaredonline
Vâng, tôi đang cố gắng để làm việc đó ra bản thân mình-và không chỉ là một, nhưng hai! Có lẽ nó phản đối sự phác thảo của giải pháp (tôi có thể thấy trực giác chỉ ra rằng các tuyến sẽ là '// 2012/05/10/foo' với dấu gạch chéo trước), nhưng nó chắc chắn hoạt động và chắc chắn dễ dàng hơn nhiều nhiều Rails-y hơn là reimplementing tất cả các routesful routes bằng tay. – Matchu
Yea. Đó là lúc -3 khi tôi đến đây. Có lẽ vì tuyến đường bạn đã chỉ định không thực sự có công cụ/năm/tháng/ngày? – jaredonline