使用数据网格了解 Rails 3 路线



我想更深入地了解 Rails 3 路由 - 以解决我遇到的问题。我正在尝试使用数据网格 gem。我有这个:

class UsersController < ApplicationController
  def index
    @admin_console = AdminConsole.new(params[:admin_console])
    ...

然后在用户的索引.html.erb中:

<%= form_for @admin_console, :html => {:method => :get} do |f| -%>
  <% @admin_console.filters.each do |filter| -%>
       ...

我收到一个错误,指出"admin_consoles_path"是一个未定义的方法。

在路线上,我只有这个:

resources :users

我没有管理控制台控制器;我只有一个模型。我想了解为什么我需要在路由中使用管理控制台(如果我这样做)。

form_for帮助程序正在查找admin_consoles_path,因为您使用的是帮助程序的缩短版本。

这,特别是第2.3节,解释了使用form_for时实际发生的情况

## Creating a new article
# long-style:
form_for(@article, :url => articles_path)
# same thing, short-style (record identification gets used):
form_for(@article)

我相信您需要一个控制器操作来创建 AdminConsole,但如果您按照上面的示例指定 url,它不一定需要它自己的控制器(尽管这可能不是最佳实践)。

相关内容

  • 没有找到相关文章