我有一个包含用户模型的 Rails 应用程序。用户可以编辑属性(地址、名称、密码、区域设置)。
为了成为 RESTful,我为用户模型创建了一个资源
#routes.rb
resources :users, only: [:edit, :update]
用户可以更新其属性的页面(/users/:id/edit)包含多种形式(一种用于地址等一般信息,一种用于区域设置,另一种用于更改密码)。
这三种形式中的每一种看起来都像这样:
= 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 的错误消息,这些错误消息将显示在所有三个表单上。
将模型属性拆分为不同形式并仅在一种特定形式而不是全部形式上显示错误消息的 Rails 最佳实践是什么?