答えて
工夫4.xの更新
class ApplicationController < ActionController::Base
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
devise_parameter_sanitizer.permit(:sign_in, keys: [:username])
devise_parameter_sanitizer.permit(:account_update, keys: [:username])
end
end
、工夫は通常通り動作します。
アップデート:devise#strong-parametersで説明されているように、Devise 3.xの最新バージョンでは、認証キー(通常は電子メールフィールド)とパスワードフィールドはすでに許可されています。ただし、サインアップフォームに追加のフィールドがある場合は、許可する追加フィールドをDeviseに知らせる必要があります。これを行う最も簡単な方法は、フィルタを使用することです:工夫2.Xについて
class ApplicationController < ActionController::Base
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :username
end
end
、あなたがユーザーモデルで明示的にホワイトリスト汚染されたパラメータを必要とする安全機能を使用する場合:
include ActiveModel::ForbiddenAttributesProtection
必要な変更を一部のコントローラーを無効にするhttps://gist.github.com/3350730にあります。
簡単な方法は、単純なBeforeフィルタをApplicationControllerに追加することです。あなたは別の役割および/または他のより複雑なシナリオを持っている場合があり、下のリンク上の他のオプションは次のとおりです。
before_filter :configure_sanitized_params, if: :devise_controller?
def configure_sanitized_params
devise_parameter_sanitizer.for(:sign_up) {|u| u.permit(:firstname, :designation_id ,:middlename, :previous_experiance_year,:previous_experiance_month,:lastname, :email, :username, :password, :password_confirmation, :previous_experiance,:empid, :dob, :timezone, :doj, :gender, :education, :comments, :locked, :deactivated, :reason, :phone,:deactivated_date,:image)}
devise_parameter_sanitizer.for(:account_update) {|u| u.permit(:remove_image,:firstname, :designation_id ,:middlename, :lastname, :email, :username, :empid, :dob, :timezone, :doj, :gender, :education, :comments, :locked, :deactivated, :reason, :phone, :deactivated_date,:image)}
end
コピーしても代わりに、アプリケーションのコントローラにこのコードを貼り付けます。FIRSTNAME、および他のフィールドは、フィールドを追加する必要があります。
これは新しい方法です。開発者がコードに強力なパラメータを実装していない日に質問が返されました。 –
- 1. レールにカスタム強力なパラメータを追加する方法5
- 2. Railsの強力なパラメータ3.2.8
- 3. ダイナミックキーの強力なパラメータ
- 4. ユーザーごとの強力なパラメータのベストプラクティス?
- 5. 強力なParams + Rails4 - 特に指定しない方法は?
- 6. これは、レールに強力なパラメータを使用する安全ではない方法ですか?
- 7. Railsの4つの強力なパラメータ - モデルのparamsハッシュ
- 8. RSpec - 強力なパラメータをテストする
- 9. Railsの工夫が考案invitable宝石で遊ん
- 10. 基本的には私はレールとAJAXでの基本的なCRUDを持っていますが、私が考案宝石を統合する必要があり、私のプロジェクトに宝石を考案し、CRUDをテスト追加するとき、私はこのエラーを取得する工夫
- 11. より強力な移行のためにGitとRailsを連携させる宝石はありますか?
- 12. 強力なパラメータでハッシュまたはnilを許可する
- 13. アプリケーションコントローラのコントローラオブジェクトとコントローラの強力なパラメータを取得する
- 14. RailsとDeviseで強力なパラメータ
- 15. Rails 5 - ネストされた属性のための強力なパラメータ
- 16. 強力なパラメータは、フォームに悪質なコードを挿入するのを防ぐ方法はありますか?
- 17. Rails Emberの強力なパラメータ解明
- 18. 未知の属性の例外を発生させるための強力なパラメータの取得方法
- 19. 強いパラメータにインクリメントメソッドを使う方法
- 20. 動的キーの強力なパラメータを設定する
- 21. 4つの強力なパラメータ:条件付きにする?
- 22. Java、パラメータを知らないメソッドの強制実装
- 23. ウェブアプリケーションに強力な検索機能を追加するには
- 24. は、レールに強いパラメータを記述する方法
- 25. Dart:次のコードは強モードでコンパイルされるのはなぜですか?私は両方のステートメントが強いモードでエラーまたは警告を与える必要があります間違っていないよ場合は、私は、パラメータとしてタイプAのインスタンスを与える主な機能の両方の文で
- 26. 「強力なテストではない強いタイピング」に関する記事?
- 27. activeadmin - コメント用に強力なパラメータを上書きする
- 28. Railsの強力なパラメータは、コンテンツが変更された後にパラメータを無視します
- 29. 強力なパラメータを使用してフォームの値を入力する
- 30. Rails 5つの強力なパラメータとネストされた複数の属性
Deviseの公開API – msa7
を中継しているので、私の意見では次の回答が良いと思います。回答は1年以上前のものだったからです。私は新しい開発に基づいて答えを更新しました。 – ronalchn
この質問は、世界がどれほど小さいかの完全な例です。あなたは私の質問に自分の要点で答えました= D –