-3
次のコードは、モデルを保存する前に実行されます。ループの前に変更のためにhas_many
アソシエーションをチェックし、それぞれに値を設定します。各回答オプションで、いずれかの回答でcorrect_answer
が変更されているかどうかを確認します。そうであれば、どちらが変更されたかを調べ、true
でした。メソッドの簡略化または改善
if self.answer_options.select{|a| a.correct_answer_changed?}.any?
self.answer_options.each do |answer_option|
if answer_option.correct_answer_changed? && !answer_option.correct_answer_was
answer_option.correct_answer = true
else
answer_option.correct_answer = false
end
end
end
どうすればこの方法を簡略化できますか?あなたが働いている共有しているコードを仮定し
'answer_options.each {| answer_option | answer_option.correct_answer == nil} 'これは奇妙に見えますが、ここで何をしようとしていますか? –
@ Md.FarhanMemon 'answer_option.correct_answer_changed? 'を満たす' answer_option'がないときに割り当てられた 'false'値を元に戻します。元のコードでは、そのための条件がありました。 – sawa