初心者です。
railsというよりrubyの質問かもしれません。
概要
モデルにvalidatesを書いてコントローラでUser.errors.messages
に
想定通りの3種類のバリデーション結果メッセージが
入って来るところまで確認ができましたが、後付けでこのメッセージに文言を追加したいです。
追加したい文言(現在のパスワード
パスワード
確認用パスワード
)はそれぞれで固定になっていて、
得られたメッセージの前に付け足します。
User.errors.messages
を破壊的に変更したいです。
以下にパターン例を挙げます。
うまい実装を教えていただけないでしょうか。(mapとか使うのかな。。。)
ruby
1# 取得時 2{ 3 :current_password => ["を入力してください。", "は8文字以上で入力してください"], 4 :password => ["を入力してください。"], 5 :password_confirmation => ["は16文字以内で入力してください。", "がパスワードと異なります。"] 6} 7 8# 付け足した後 9{ 10 :current_password => ["現在のパスワードを入力してください。", "現在のパスワードは8文字以上で入力してください"], 11 :password => ["パスワードを入力してください。"], 12 :password_confirmation => ["確認用パスワードは16文字以内で入力してください。", "確認用パスワードがパスワードと異なります。"] 13}
ruby
1# 取得時 2{ 3 :current_password => ["を入力してください。", "は8文字以上で入力してください"], 4 :password_confirmation => ["は16文字以内で入力してください。", "がパスワードと異なります。"] 5} 6 7# 付け足した後 8{ 9 :current_password => ["現在のパスワードを入力してください。", "現在のパスワードは8文字以上で入力してください"], 10 :password_confirmation => ["確認用パスワードは16文字以内で入力してください。", "確認用パスワードがパスワードと異なります。"] 11}
ruby
1# 取得時 2{ 3 :current_password => [], 4 :password => ["を入力してください。"], 5 :password_confirmation => ["は16文字以内で入力してください。", "がパスワードと異なります。"] 6} 7 8# 付け足した後 9{ 10 :current_password => [], 11 :password => ["パスワードを入力してください。"], 12 :password_confirmation => ["確認用パスワードは16文字以内で入力してください。", "確認用パスワードがパスワードと異なります。"] 13}
回答1件
あなたの回答
tips
プレビュー