【发布时间】:2011-04-24 08:20:03
【问题描述】:
我有一个辅助方法来检查对象集合是否为空?如果不是,则检查每一个以确保现有 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
更新:如果条件满足,此辅助方法将表单设置为构建新的子对象。我已经更新了上面的示例。顺便说一句,它不需要是单行。我只是想要一些比我上面的更干净的东西。
【问题讨论】:
-
您能否详细说明在标记为“逻辑”的块中执行了哪些操作?
-
你确定这段代码是正确的吗?
question.answers.build不应该在each块内,如果集合为空,则调用question.answers.build毫无意义.. -
其实应该是这样的。我不想放下所有其他代码,因为表单确实很复杂,但实际上可以按预期工作。感谢您在下面的回答。
-
乍一看,这应该是一种提问方式
标签: ruby-on-rails ruby