Ruby on rails Rails:执行时出现问题';拆分';在线上
当为我的“问题”对象创建新条目时,我的代码工作正常 但是,使用各种方法,我无法正确获取提交到Ruby on rails Rails:执行时出现问题';拆分';在线上,ruby-on-rails,ruby,Ruby On Rails,Ruby,当为我的“问题”对象创建新条目时,我的代码工作正常 但是,使用各种方法,我无法正确获取提交到def update的编辑路由 经过一番努力,我意识到我的create方法对一个命名对象执行拆分,如下所示: def create @question = Question.new(params[:question]) ... @question.options = @question.options.split(',').collect(&:strip) 在我的更新方法中 def
def update
的编辑路由
经过一番努力,我意识到我的create方法对一个命名对象执行拆分,如下所示:
def create
@question = Question.new(params[:question])
...
@question.options = @question.options.split(',').collect(&:strip)
在我的更新方法中
def update
@question = Question.find(params[:id])
我需要以某种方式格式化这一行中参数[:question]
的选项
:
if @question.update_attributes(params[:question])
否则,更新_属性
将失败。我不知道怎么做。谢谢你的帮助
使用拆分设置格式后,@question.options
的输出:
["options", "---\n- Extremely unlikely\n- Unlikely\n- Neutral\n- Likely\n- Extremely likely\n-"]
如果我正确理解您的问题,您应该将格式代码移动到问题类中的回调:
class Question
before_save :format_options
def format_options
write_attribute :options, read_attribute(:options).split(',').collect(&:strip)
end
end
请告诉我们
@question.options
的输出。能否显示您用于更新@question的表单。params[:question]中的选项是什么?更新_属性如何失败?更新操作启动了吗?抛出错误?不更新属性?如果是,哪个属性?选项在参数[:问题]中,因为它们被传递到#update from#edit。这非常有效。我花了好几个小时在这上面。多么优雅的解决方案。非常感谢。