Ruby on rails 如何验证模型中的方法参数?

Ruby on rails 如何验证模型中的方法参数?,ruby-on-rails,Ruby On Rails,以下是我的尝试: class Answer < ActiveRecord::Base validate :upd def upd unless question_id.nil? || status.nil? redirect_to :action => 'index' else return true end def update_status(question_id, status) if question.valid? && status.vali

以下是我的尝试:

class Answer < ActiveRecord::Base
validate :upd
def upd
 unless question_id.nil? || status.nil?
    redirect_to :action => 'index'
 else return true
end

def update_status(question_id, status)
 if question.valid? && status.valid?
   @update = Question.find(question_id)
   @update.update_attributes(:question_status => status)
 end
end

end
class-Answer“index”
否则返回true
结束
def更新状态(问题id,状态)
如果问题有效&&状态。有效吗?
@更新=问题。查找(问题\u id)
@update.update_属性(:question_status=>status)
结束
结束
结束

我得到未定义的局部变量或方法“status”

模型不应该重定向,控制器应该重定向。您可以通过改为写入
(status&&status.valid?
来修复状态无效错误。不确定您的总体意图是什么。关于重定向,我理解。在更新之前,我应该检查我从controllerIs'status'发送的问题id和状态参数,以及答案模型的属性?。为什么要更新问答模型中的问题?更新状态方法应移至问题模型