Rails:用于管理非管理模型的管理路线
问题描述:
我在尝试配置rails以使用'admin'命名空间路由管理非管理模型时出现问题。例如,Widget
模型通常必须在/widgets
有一个叫WidgetsController
控制器REST风格的路线,我有一个命名空间的路线和控制器路由文件:Rails:用于管理非管理模型的管理路线
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