简单的Rails路径问题

时间:2011-07-23 18:15:40

标签: ruby-on-rails routing

我的控制器路由定义如下:

resources :watched, :controller => "watched", :only => :index

当我运行rake routes时,我得到以下内容:

watched_index GET /watched(.:format) {:action=>"index", :controller=>"watched"}

出于某种原因,我的观点中似乎没有定义watched_pathwatcheds_path。有什么想法吗?

3 个答案:

答案 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并让我知道这是否有效