Ruby on rails 如何访问子域下的命名空间控制器方法?
我将我的部分应用程序命名为admin,并将其设置在一个新域下,如下所示:Ruby on rails 如何访问子域下的命名空间控制器方法?,ruby-on-rails,rails-routing,Ruby On Rails,Rails Routing,我将我的部分应用程序命名为admin,并将其设置在一个新域下,如下所示: namespace :admin, :path => "", :constraints => {:subdomain => "one"} do resources :cars end <% @cars.each do |car| %> <%= link_to "Show", car %> <%= link_to 'Edit', edit_car_pa
namespace :admin, :path => "", :constraints => {:subdomain => "one"} do
resources :cars
end
<% @cars.each do |car| %>
<%= link_to "Show", car %>
<%= link_to 'Edit', edit_car_path(car) %>
<% end %>
我的所有控制器和视图现在都在“admin”文件夹中
现在我想触发编辑和显示操作。我怎么做?通常我只会这样做:
namespace :admin, :path => "", :constraints => {:subdomain => "one"} do
resources :cars
end
<% @cars.each do |car| %>
<%= link_to "Show", car %>
<%= link_to 'Edit', edit_car_path(car) %>
<% end %>
当存在子域和命名空间时,过程是什么?谢谢大家! 我想事情会是这样的:
<% @cars.each do |car| %>
<%= link_to "Show", admin_car_path %>
<%= link_to 'Edit', edit_admin_car_path(car) %>
<% end %>
您的路线稍有错误。您需要在链接到的
链接中引用子域:
<% @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 %>
有关更多信息,请参阅。谢谢,但对于“显示”操作,它会给我以下错误:没有路由匹配{:subdomain=>“one”,:action=>“Show”,:controller=>“admin/cars”}缺少所需的键:[:id]
这是因为您没有将id
参数传递给链接到,它看起来应该类似于链接到“我的链接”,管理员车路径(id,子域:“一”)
谢谢。问题是,对于“Show”操作,我收到以下错误:没有路由匹配{:subdomain=>“one”,:action=>“Show”,:controller=>“admin/cars”}缺少必需的密钥:[:id]