【发布时间】:2012-04-13 17:28:40
【问题描述】:
也许我很愚蠢,但 Rails 提供了这种漂亮的语法来生成 URL,如下所示:
url_for([user, comment]) # => /users/1/comment/1
传递:edit 允许我创建类似这样的东西:
url_for([:edit, user, comment]) # => /users/1/comment/1/edit
但是有什么方法可以跟随吗?
url_for([:new, user, comments]) # => NoMethodError: undefined method `new_user_comments_url'
更新:添加了更多信息。
我的路线.rb:
resources :users do
resources :comments
end
resources :posts do
resources :comments
end
我的问题是,我不能使用 Rails 自动生成的 url helper (user_comments_url),因为我正在为用户 cmets 和 post cmets 共享视图。
对于我的问题,有两种解决方法(但没有人觉得像“Rails”方式):
向视图添加逻辑,例如一些if条件。
定义我自己的 url 助手,例如
new_parent_comment(user_or_blog)。
【问题讨论】:
标签: ruby-on-rails-3 url-routing restful-url