「管理者」名前空間ルートを使用して管理者以外のモデルを管理するために Rails を構成しようとすると問題が発生します。たとえば、モデルには通常、と呼ばれるコントローラーを使用しWidget
た RESTful ルートがあります。ルートとコントローラーを名前空間化するルート ファイルがあります。/widgets
WidgetsController
namespace :admin do
resources :widgets
end
class Admin::WidgetsController < ApplicationController
def index
@widgets = ::Widget.all
respond_to do |format|
format.html
end
end
...etc...
end
ビューで、作成にルート メソッドを使用しようとするとエラーが発生します。
<% @widgets.each do |widget| %>
<%= link_to 'Show', admin_widget(widget) %>
<% end %>
エラー:
undefined method `admin_widget'
私は何を間違っていますか?