9

我正在使用 devise,效果很好,现在我尝试使用 devise_invitable。我正确安装了它,但是当我尝试访问时出现错误

http://localhost:3000/users/invitation/new

错误是:

在 2011-07-06 20:47:07 -0300 ActionController::RoutingError (未初始化的常量用户)开始为 127.0.0.1 获取“/users/invitation/new”:
渲染 /Users/Fernando/.rvm/gems/ruby- 1.9.2-head/gems/actionpack-3.0.7/lib/action_dispatch/middleware/templates/rescues/routing_error.erb 在救援/布局中(1.9ms)

路线看起来不错,我不知道为什么它会返回此错误。

路线:

accept_user_invitation
GET    /users/invitation/accept(.:format)
   {:action=>"edit", :controller=>"devise/invitations"}

user_invitation
POST   /users/invitation(.:format)              
   {:action=>"create", :controller=>"devise/invitations"}

new_user_invitation 
GET    /users/invitation/new(.:format)          
   {:action=>"new", :controller=>"devise/invitations"}
4

2 回答 2

12

实际上,您必须将您的邀请控制器粘贴在下面的users目录app/controllers中才能正常工作。

所以你最终会得到:

/app/controllers/users/invitations_controller.rb

这样做将消除该unitialized constant错误。

于 2012-05-20T22:17:19.947 回答
10

尝试改变

devise_for :users, controllers: { invitations: 'users/invitations' }

devise_for :users, controllers: { invitations: 'devise/invitations' }
于 2011-07-27T19:10:43.080 回答