我的控制器路由定义如下:
resources :watched, :controller => "watched", :only => :index
当我运行rake routes
时,我得到以下内容:
watched_index GET /watched(.:format) {:action=>"index", :controller=>"watched"}
出于某种原因,我的观点中似乎没有定义watched_path
或watcheds_path
。有什么想法吗?
答案 0 :(得分:1)
根据rake路线的输出,您应该使用的路径是以下任一路径:
watched_index_path
watched_index_url
答案 1 :(得分:0)
您正在使用resources
,因此Rails会使您的资源多元化:
> 'watched'.pluralize
=> "watcheds"
您可以在config/initializers/inflections.rb
中定义手动复数,但是您应该坚持使用名词来获取资源,因为它们是唯一有意义的东西。谁在被人看?这资源实际显示的是什么?
定义不规则变形的示例:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'thesinglewatched', 'themanywatched'
# or...
inflect.uncountable 'watched'
end
答案 2 :(得分:0)
尝试watcheds_path
并让我知道这是否有效