我有一個幫助器方法,檢查對象的集合是否爲空?如果不是,那麼它會檢查每一個以確保現有的event_id不是@ current_event.id。重構紅寶石輔助方法
這裏是我的裂紋吧:
def build_answers(question)
if question.answers.empty?
return question.answers.build
else
question.answers.each do |a|
if a.event_id != @current_event.id
return question.answers.build
end
end
end
end
更新:這個helper方法設置窗體,以建立新的兒童如果條件傳遞對象。我已經更新了上面的例子。順便說一句,它不需要是一條線。我只想要比上面更清潔的東西。
你能否解釋一下,什麼都打上「邏輯」塊執行的操作? – Jeriko 2010-10-12 14:00:52
您確定此代碼是正確的嗎? 'question.answers.build'不應該在每個''塊內,如果集合是空的,那麼沒有必要調用'question.answers.build'。 – Jeriko 2010-10-12 14:16:53
實際上,它應該是這樣的。我不想放下所有其他代碼,因爲表單非常複雜,但它實際上按預期工作。感謝您的回答。 – 2010-10-12 14:21:15