我的表单中有一个名为text_area
的{{1}},用于输入答案(以换行符分隔):
answer_choices
因此,当用户提交表单时,我会使用Some answer
Another answer
Yet another
answer_choices
解析为单个答案以输入数据库
然后,当他们编辑表单时,我使用这种方法重新组合这些单独的答案:
我的answer_choices.split(/\r\n/)
模型中有以下方法:
Question
这让我只能在我的视图中执行def answer_choices
string = ''
answers.each do |answer|
string += "#{answer.text.to_s}\n"
end
string.strip
end
,并通过换行符分隔答案。大。
问题在于,当我再次提交表单(更新记录)时,那个小<%= f.text_area :answer_choices %>
位似乎在调用该自定义方法,而不是从表单字段中获取任何新数据,因此只需重新从之前添加相同的数据。
那么如何为表单输出设置自定义方法呢?
答案 0 :(得分:0)
为避免调用自定义方法,您应该使用属性hash:
self.attributes['answer_choices'].split(/\r\n/)