Rails 3.2.8を使用しており、ユーザーが更新できるレベルごとに名前と回答のペアのセットがあります。
class UserAnswer < ActiveRecord::Base
attr_accessible :name, :answer, :level_id, :user_id
end
多くのビューを作成するのはとても苦痛です。
<li<%if @error_fields.include?('example_name') or @error_fields.include?('example_other_name')%> class="error_section"<%end%>>
<%= label_tag 'answer[example_name]', 'Example question:' %> <%= text_field_tag 'answer[example_name]', @user_answers['example_name'], placeholder: 'Enter answer', class: @error_fields.include?('example_name') ? 'error_field' : '' %>
<%= label_tag 'answer[example_other_name]', 'Other example question:' %> <%= text_field_tag 'answer[example_other_name]', @user_answers['example_other_name'], placeholder: 'Enter other answer', class: @error_fields.include?('example_other_name') ? 'error_field' : '' %>
</li>
@user_answers
明らかに、前回の更新からのユーザーの回答を保持するハッシュです。上記の繰り返しがたくさんあります。Railsでこれを処理する最良の方法は何ですか?のようなものを使用したいのですが、これは単一のモデルオブジェクトではなく、 ActiveRecordインスタンスform_for
のコレクションであるため、使用できないと思います。UserAnswer