Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何访问子域下的命名空间控制器方法?_Ruby On Rails_Rails Routing - Fatal编程技术网

Ruby on rails 如何访问子域下的命名空间控制器方法?

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

我将我的部分应用程序命名为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 %>
我的所有控制器和视图现在都在“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]