Ruby on rails Rails:资源的多个名称

Ruby on rails Rails:资源的多个名称,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,是否有一种优雅的方式可以为单个资源指定多个名称。我们希望通过设置用户希望称之为“东西”的内容,为用户提供一个选择。即产品、项目、服务等 到目前为止,我只能考虑使用多条路由到单个控制器: resources :products resources :items, :controller => :products resources :services, :controller => :products 我唯一能看到的是,视图将变得非常复杂,必须根据用户设置询问要生成哪个URL 任何想

是否有一种优雅的方式可以为单个资源指定多个名称。我们希望通过设置用户希望称之为“东西”的内容,为用户提供一个选择。即产品、项目、服务等

到目前为止,我只能考虑使用多条路由到单个控制器:

resources :products
resources :items, :controller => :products
resources :services, :controller => :products
我唯一能看到的是,视图将变得非常复杂,必须根据用户设置询问要生成哪个URL


任何想法或想法都将不胜感激

不确定您到底想做什么,但是Rails可以通过
URL\u for
helper完成URL生成的所有繁重工作。请参见

如果我为(@product)创建url_以创建产品/1,例如,对吗?用户可能还没有选择调用products services,因此我希望(@product)的url_在DB中生成服务/1,它是相同的资源,只是它的名称不同。好的,我明白了。然后,我建议您向基础模型添加别名属性(字符串),该属性可以具有不同的名称,并使用用户选择的名称填充该属性。当需要获取URL时,只需获取别名,就可以得到所需的内容