在rails3中使用polymorphic_url生成路由

时间:2013-08-16 10:32:24

标签: ruby-on-rails-3 routes

我在使用polymorphic_url

生成路由时遇到了一些问题

以下是我的route.rb文件的一部分:

scope path: '/my-account', controller: 'customers/base', as: :customer do
  ...
  resources :addresses, path: 'my-addresses'
  ...
end

耙路线| grep地址给了我我想要的路线:

customer_addresses GET      /:locale/my-account/my-addresses(.:format)

现在,如果我使用

send('customer_addresses_path)

在link_to中,一切正常。

但如果我无法使用多态url生成相同的url:

app.polymorphic_path([:customer,:addresses])
#ActionController::RoutingError: No route matches {:controller=>"addresses"}

app.polymorphic_path([Customer,:addresses])
#"/Customer/my-account/my-addresses" Not the same url :'(

app.polymorphic_path([Customer.first,:addresses])
#"/1/my-account/my-addresses" Not the same url :'(

有没有办法使用polymorphic_url来生成我的网址?

1 个答案:

答案 0 :(得分:0)

提出问题是反思它的好方法。

此处的解决方案:

app.polymorphic_path([:customer,:addresses], locale: :en)