Rails:用于管理非管理员模型的管理员路由

时间:2013-02-11 06:21:23

标签: ruby-on-rails

我在尝试使用'admin'命名空间路由配置rails来管理非管理模型时遇到问题。例如,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

在视图中,当我尝试使用route方法创建时,我收到错误:

<% @widgets.each do |widget| %>
  <%= link_to 'Show', admin_widget(widget) %>
<% end %>

错误:

undefined method `admin_widget'

我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

admin_widget_path(widget)

而不是admin_widget