Обычно вы хотите использовать error_msg_for помощник.
= error_messages_for object
Однако в вашем случае, потому что вы рендерите несколько форм на основе обновления сигнатуры, у вас есть немного больше работы.
Сначала ваше действие по обновлению должно заново заполнить @selections и сделать выбор, который не удалось обновить, доступным для представления в качестве переменной экземпляра.
def update
@selection = Selection.find(params[:id])
if @selection.update_attributes(params[:selection])
flash[:notice] = "Save!"
redirect_to selections_path
else
@selections = Selection.find ....
flash[:errors] = "Errors"
render :index
end
end
Затем отфильтруйте эту информацию в ваших формах.
index.html.erb
- for selection in @selections
- form_for selection, :method => :put do |form|
= error_messages_for form.object if form.object.id = @selection.id
= form.collection_select :user_id, @current_account.users, :id, :full_name