2016-02-12 59 views
2

我有这段代码块在我的控制器自定义验证的模型参数从控制器

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]只有 a 参数不是 a 表字段

任何人都请帮助我。

回答

3
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 
+0

谢谢你..我认为这会行得通,但我会先尝试 –

3

试试这个在您的model.rb

validate :should_be_pimary if self.number == 1 

def should_be_primary 
    #validations here 
end 
+0

对不起,我忘了提,数量只有从形式 –

+0

所有参数我以为**号**是一个您的领域表。 – Lymuel