ユーザーモデルを含むRailsアプリケーションがあります。ユーザーは属性 (アドレス、名前、パスワード、ロケール) を編集できます。
RESTful にするために、User-Model のリソースを作成しました
#routes.rb
resources :users, only: [:edit, :update]
ユーザーが自分の属性を更新できるページ (/users/:id/edit) には、複数のフォーム (住所などの一般情報用、ロケール設定用、パスワード変更用) が含まれています。
この 3 つの形式はそれぞれ次のようになります。
= form_for(current_user, html: { class: 'fill-up' }) do |f|
.padded
= render 'shared/error_messages', object: current_user
= f.label :locale
.input
= f.select(:locale, [['Deutsch', 'de'], ['English, 'en']])
.form-actions
= f.button 'Submit', class: 'button'
問題は、編集アクションをレンダリングして current_user-object のエラー メッセージを表示すると、これらのエラー メッセージが 3 つのフォームすべてに表示されることです。
モデル属性をさまざまな形式に分割し、エラー メッセージをすべてではなく 1 つの特定の形式にのみ表示するための Rails のベスト プラクティスは何ですか。