使用来自控制器的参数在模型中进行自定义验证

Custom Validation in Model with Parameter from controller

我的控制器中有这段代码

def create
  number = params[:number]
  @color = Colors.new(params[:colors])
  @color.save       
end

我在模型 color.rb

中进行了验证
validate :should_be_primary

def should_be_primary
   #validations here
end

我只想在我的 params[:number] == 1

时验证 运行

注意:params[:number]只是一个参数不是一个table 字段.

任何人都请帮助我。

在你的 model.rb

上试试这个
validate :should_be_pimary if self.number == 1

def should_be_primary
   #validations here
end
def create
  number = params[:number]
  params[:colors][:param_number] = number
  @color = Colors.new(params[:colors])
  @color.save       
end

validate :should_be_primary
def param_number=(number)
 @number = number
end

def should_be_primary
   if @number
     #blah blah
   end
end