如何在子域下访问命名空间控制器方法?

时间:2014-09-25 01:18:36

标签: ruby-on-rails rails-routing

我将我的部分应用程序命名为admin,并将其设置在这样的新域下:

namespace :admin, :path => "", :constraints => {:subdomain => "one"} do
    resources :cars
end

我的所有控制器和视图现在都在文件夹' admin'。

现在我想触发EDIT和SHOW动作。我该怎么做?通常我会这样做:

<% @cars.each do |car| %>
    <%= link_to "Show", car %>
    <%= link_to 'Edit', edit_car_path(car) %>
<% end %>

存在子域和命名空间时的过程是什么?谢谢!

2 个答案:

答案 0 :(得分:1)

您的路线有点不对劲。您需要在link_to

中引用子域名
<% @cars.each do |car| %>
  <%= link_to "Show", admin_car_path(id, subdomain: "one") %>
  <%= link_to 'Edit', edit_admin_car_path(id, car, subdomain: "one") %>
<% end %>

有关详细信息,请参阅Railscast 221

答案 1 :(得分:0)

我认为这就是它:

<% @cars.each do |car| %>
    <%= link_to "Show", admin_car_path %>
    <%= link_to 'Edit', edit_admin_car_path(car) %>
<% end %>