2013-11-20 52 views
0

我正在使用Rails在ActiveRecord中進行驗證,我有一個問題。當你在客戶方法中驗證某些東西時,你可以直接使用屬性名稱,還是必須使用「@」符號,就好像它正在處理的實例一樣?那麼以下哪種方法是正確的?非常感謝,我很感激!在ActiveRecord for Rails中進行驗證

例如:

if(@person.name == "Chris") 
end 

if(name == "Chris") 
+0

方法在哪裏?定義了「@人」對象嗎?如果你在人物模型中,「@ person.name」可能會給你一個錯誤,除非你在某處特別設置了「@ person」。 – nzifnab

回答

1

我想我不明白你的好問題,但我想幫助你。 如果要驗證成Class的方法應是:

def self.validateName(name) 
    if(name == "Chris") 
    something .. 
end 

如果要驗證到視圖

if(@person.name == "Chris") 
end 

如果名稱經由PARAMS正在添加到控制器

if(params[:name] == "Chris") 
end 

我希望對你有所幫助:)