【问题标题】:Rails Devise Invitable not working uninitialized constant UsersRails Devise Invitable无法正常工作未初始化的常量用户
【发布时间】:2014-03-20 22:42:35
【问题描述】:

邀请控制器

class InvitationsController < Devise::InvitationsController

 def new
 end

 def create
 end

end

routes.rb

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

应用程序控制器

class ApplicationController < ActionController::Base
 # Prevent CSRF attacks by raising an exception.
 # For APIs, you may want to use :null_session instead.
 protect_from_forgery with: :exception
 before_filter :configure_permitted_parameters, if: :devise_controller?

 protected

 def configure_permitted_parameters
 # Only add some parameters
 devise_parameter_sanitizer.for(:accept_invitation).concat [:email]
 # Override accepted parameters
 devise_parameter_sanitizer.for(:accept_invitation) do |u|
  u.permit(:email, :password, :password_confirmation,
         :invitation_token)
 end
end

users_controller

def new
 @user = User.new(:invitation_token => params[:invitation_token])
 @user.email = @user.invitation.recipient_email if @user.invitation
end

当我转到“/users/invitation/new”时,我收到错误“未初始化的常量用户”。我错过了什么?谢谢

【问题讨论】:

    标签: ruby-on-rails ruby devise actionmailer devise-invitable


    【解决方案1】:

    试试

    devise_for :users, :controllers => { :invitations => 'invitations' }

    相反,如果您覆盖方法,您可能需要调用父级,使用 super 像这样:

    ```

    class InvitationsController < Devise::InvitationsController
    
       def new
         super
       end
    
    end
    

    ```

    【讨论】:

    • 好的,我让它工作了,有点,它发送电子邮件,但我收到错误“ActionController::UnknownFormat”,而不是将我重定向到主页
    猜你喜欢
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多