为我的“问题”对象创建新条目时,我的代码工作正常。
但是,使用各种方法,我无法让编辑路线正确提交到def update
。
经过大量的讨论之后,我意识到我的create方法会对命名对象执行拆分,如下所示:
def create
@question = Question.new(params[:question])
...
@question.options = @question.options.split(',').collect(&:strip)
在我的更新方法中,
def update
@question = Question.find(params[:id])
我需要以某种方式格式化此行中options
的{{1}}:
params[:question]
否则, if @question.update_attributes(params[:question])
失败。我无法弄清楚如何做到这一点。任何帮助表示赞赏。
使用split格式化后输出update_attributes
:
@question.options
答案 0 :(得分:2)
如果我正确理解您的问题,您应该将格式代码移动到问题类中的回调:
class Question
before_save :format_options
def format_options
write_attribute :options, read_attribute(:options).split(',').collect(&:strip)
end
end