【问题标题】:Devise Invitable: uninitialized constant设计邀请:未初始化的常量
【发布时间】:2011-09-30 01:39:21
【问题描述】:

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

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

错误是:

在 2011-07-06 20:47:07 -0300 开始为 127.0.0.1 获取“/users/invitation/new” ActionController::RoutingError(未初始化的常量用户):
在救援/布局中渲染 /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"}

【问题讨论】:

  • 请发布相应的 routes.rb 条目。

标签: ruby-on-rails devise constants initialization invitation


【解决方案1】:

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

所以你最终会得到:

/app/controllers/users/invitations_controller.rb

这样做会消除unitialized constant 错误。

【讨论】:

    【解决方案2】:

    尝试改变

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多