【问题标题】:Why do some of my Rails path helpers have an _index suffix? [duplicate]为什么我的一些 Rails 路径助手有 _index 后缀? [复制]
【发布时间】:2011-12-13 21:09:37
【问题描述】:

我有一个看起来像这样的 Rails 路由定义:

namespace :admin do
  resources :feeds
  resources :push
end

rake routes 为其生成以下输出:

admin_feeds GET  /admin/feeds  {:controller=>"admin/feeds", :action=>"index"}
admin_push_index GET  /admin/push  {:controller=>"admin/push", :action=>"index"}

为什么push 的路径助手会得到_index 后缀,而不是feeds

【问题讨论】:

    标签: ruby-on-rails routes


    【解决方案1】:

    这一切都基于资源的多样性。因此,如果资源名称是复数,则无需添加_index 后缀,因为它是推断出来的。

    如果它是一个单一的资源名称,那么它会添加后缀以进行澄清,因为admin_push 通常是show 操作而不是index 操作。

    【讨论】:

      【解决方案2】:

      你也可以使用

      resource :push
      

      而不是

      resources :push
      

      指定一个单一的资源。见http://api.rubyonrails.org/classes/ActionDispatch/Routing.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-05
        • 1970-01-01
        • 2015-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-31
        相关资源
        最近更新 更多