2016-02-12 64 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