Rails:管理非管理模型的管理路径



我在尝试配置rails以使用"admin"命名空间路由管理非管理员模型时遇到问题。例如,Widget模型通常在/widgets上有一个RESTful路由,其中有一个名为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'

我做错了什么?

方法名称末尾缺少path。应该是:

admin_widget_path(widget)

而不是admin_widget

最新更新