我有这个config/routed.db
:
namespace :admin do
resources :users
resources :events
end
我User
使用 Rails 提供的脚手架生成了模型,然后我简单地使用 Rails 生成了一个管理员/管理员控制器,generate
并将所有与用户相关的东西移动到控制器/视图/帮助器内的管理子目录中。是的,我确实必须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 方式来做到这一点?
此外,如果您建议我以更智能、更好的方式重新执行此操作,则可以加分!好吧,无论如何我都会这样做!:D
更新
哦,我差点忘记了一些可能相关的东西!我还Admin::UsersController
继承自Admin::AdminController
(通常反过来继承自ApplicationController
):
Admin::UsersController < Admin::AdminController