Rails:在字符串上执行'split'的问题

时间:2013-06-17 21:11:31

标签: ruby-on-rails ruby

为我的“问题”对象创建新条目时,我的代码工作正常。

但是,使用各种方法,我无法让编辑路线正确提交到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

1 个答案:

答案 0 :(得分:2)

如果我正确理解您的问题,您应该将格式代码移动到问题类中的回调:

class Question
  before_save :format_options
  def format_options
    write_attribute :options, read_attribute(:options).split(',').collect(&:strip)
  end
end