【问题标题】:Can I map resources to a different controller?我可以将资源映射到不同的控制器吗?
【发布时间】:2010-12-15 22:46:06
【问题描述】:

我已经定义了我的资源,但是客户想要更改 URL 的名称以匹配他们的品牌(例如,当资源当前是“产品”时,类似于“目录”)。我是否可以为资源指定不同的控制器名称,以便获得所有内置资源功能而无需实际重命名控制器和模型名称?

【问题讨论】:

    标签: ruby-on-rails rest resources routing


    【解决方案1】:

    记录在案:map.resources :products, :controller => "catalog" 是你这样做的方式。

    【讨论】:

    • 你怎么能在 Rails 3 中做到这一点
    • 同样的方法,但没有map.
    • 另见路径:参数,它适用于我而不会破坏 url(例如,如果您稍后要求 url_for(@product) 它会破坏)。抱歉,不确定术语/基本原理,但这对我来说是固定的。
    【解决方案2】:

    rails guide specifies how to use specific controllers for certain routes

    你可以这样做:

    Rails.application.routes.draw do
      resources :products, controller: "catalog" 
      # but rails conventions suggests you should pluralise your controller name
      # so use "catalogs" (plural) instead of the singular "catalog"
    end
    

    【讨论】:

      【解决方案3】:

      好吧,它看起来就像添加控制器名称一样简单,而且它似乎正在工作。没关系!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多