2016-10-12 7 views
0

こんにちは私は、サーバーによって生成される2つの追加の変数をdeviseのサインアッププロセスに追加しようとしています。サーバー生成変数を追加して登録する方法を教えてください。

マイ合わせコントローラは、次のようになります。

class RegistrationsController < Devise::RegistrationsController 

    private 

    def sign_up_params 
    public_key = 'test123' 
    private_key ='private_test123' 
    params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :public_key => public_key, :private_key => private_key) 
    end 

    def account_update_params 
    params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password) 
    end 
end 

しかし、公共およびPRIVATE_KEY変数を保存しない工夫。 (データベースが正しく設定されており、2つの変数が含まれています)

私はそれをどのように修正できますか知っていますか?

ありがとうございます!

答えて

0

方法sign_up_paramsはだけなので、あなただけの必要deviseにデフォルト設定されていないホワイトリストキーにある:

params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :public_key, :private_key) 

ホワイトリストにそれらの2 varibale。 formからこれらの値を送信するか、またはcreateの操作をRegistrationControllerから追加するまで、これら2つの変数をデータベースに送信しません。デフォルトcreateアクションを上書きする方法のアイデアを得るために

あなたはsign_up_params

におけるこれら

public_key = 'test123' 
private_key ='private_test123' 

を必要としないthis

を見ます

関連する問題