0

「管理者」名前空間ルートを使用して管理者以外のモデルを管理するために Rails を構成しようとすると問題が発生します。たとえば、モデルには通常、と呼ばれるコントローラーを使用しWidgetた RESTful ルートがあります。ルートとコントローラーを名前空間化するルート ファイルがあります。/widgetsWidgetsController

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'

私は何を間違っていますか?

4

1 に答える 1

0

pathメソッド名の最後にありませんでした。それはすべきだった:

admin_widget_path(widget)

それ以外のadmin_widget

于 2013-02-11T06:24:21.270 に答える