2014-09-25 49 views
0

我命名空間我的我的管理應用程序的一部分,並將其設置在這樣一個新的領域:如何訪問子域下的名稱空間控制器方法?

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 %> 

有什麼過程時,有一個子域和命名空間?謝謝!

回答

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

+0

謝謝,但'顯示'的行動,它給了我這個錯誤:'沒有路線匹配{:子域=>「一」,:行動=>「顯示」,:控制器=>「管理/汽車」}缺少必需的鍵:[:id]' – user3339562 2014-09-25 18:15:19

+1

這是因爲你沒有向'link_to'傳遞'id'參數,它應該看起來像'link_to'我的鏈接',admin_car_path(id,subdomain:「one」) ' – 2014-09-26 10:52:12

0

我覺得這是怎麼會:

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

謝謝。問題是,'Show'操作收到以下錯誤:'沒有路由匹配{:subdomain =>「one」,:action =>「show」,:controller =>「admin/cars」}缺少必需的鍵: [:id]' – user3339562 2014-09-25 18:18:47

相關問題