【发布时间】:2012-10-24 19:41:45
【问题描述】:
我的config/routed.db 中有这个:
namespace :admin do
resources :users
resources :events
end
我使用 Rails 提供的脚手架生成了 User 模型,然后我简单地使用 Rails 的 generate 生成了一个 admin/admin 控制器,并将所有与用户相关的东西移到了 admin 子目录中控制器/视图/助手。是的,我确实必须在几个地方添加admin_,并且在部分表单中我必须将form_for(@user) 更改为form_for([:admin, @user])。
当我尝试创建新用户时(这是我 POST 用户数据时)我收到以下错误消息:
undefined method `user_url' for #<Admin::UsersController:0x13f408e0>
应用程序级跟踪显示此处引发了错误:
app/controllers/admin/users_controller.rb:47:in `create'
引发此错误的代码行:
format.html { redirect_to @user, :notice => 'User was successfully created.' }
以上行在respond_to 块内。
所以,我有两个问题:
- 如何解决此问题?
- 是否有更智能、更好的 rails 方式来执行此操作?
另外,如果您建议我以 更智能、更好的 rails-way 方式重新执行此操作,则可以加分!好吧,无论如何我都会这样做! :D
更新
哦,我差点忘记了一些可能相关的东西!我还让Admin::UsersController继承自Admin::AdminController(通常又继承自ApplicationController):
Admin::UsersController < Admin::AdminController
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2