2

フォームの複数選択フィールドから入力された配列を、要素をコンマで区切った文字列に変換しようとしています。私が使用している宝石は、コンマで区切られた文字列の形で tag_field を必要としますが、私の複数選択フィールドは配列を作成します。強力なパラメーターは配列を拒否するため、配列を文字列に変換する必要があります。アプリケーションコントローラーにあるコードは次のとおりですが、機能していません。

def configure_devise_params
    devise_parameter_sanitizer.for(:sign_up) do |u|
        u[:tag_list].join(', ')
        u.permit(:email, :password, :password_confirmation,
        :profile_name, :how_did_you_hear, :first_name, :last_name, :type, :tag_list)
    end
end 

:tag_list を追加する前は、次のコードが機能していました。

def configure_devise_params
    devise_parameter_sanitizer.for(:sign_up) do |u|
        u.permit(:email, :password, :password_confirmation,
        :profile_name, :how_did_you_hear, :first_name, :last_name, :type)
    end
end 

これを修正するにはどうすればよいですか? ありがとう。

4

1 に答える 1

3

配列を許可する簡単な方法があります。

例: params.require(:article).permit(:title, {:rubric_ids => []})

あなたの場合、それは次のようになります:

def configure_devise_params
  devise_parameter_sanitizer.for(:sign_up) do |u|
    u.permit(:email, :password, :password_confirmation,
    :profile_name, :how_did_you_hear, :first_name, :last_name, :type, {:tag_list => []})
  end
end
于 2013-11-09T18:12:20.297 に答える