2009-11-09 67 views
0

我有一個代碼模型和我一個基本上有一個表格至極應該簡單地進行身份驗證,以記錄每一個代碼,所以我的控制器:你如何比較參數與軌道中的數組中的每個項目?

def cancel_sale 

    @codes = Code.find(:all) 

    @codes.each do |c| 
    @code = c.name 
    end 

    if params[:auth] && params[:auth] == @code 

    something 

    else 

    @mensaje_de_salida = "wrong auth code" 

    end 

end 

我知道這是不好的,在這一刻它只是驗證到最後記錄的代碼。

在此先感謝。

回答

0

這是怎麼回事?

def cancel_sale 

    @codes = Code.find(:all) 

    if params[:auth] && @codes.include?(params[:auth]) 
    #something 
    else 
    @mensaje_de_salida = "wrong auth code" 
    end 

end 
0

試試這個。 Gabe的方法也是正確的,如果你真的想使用@code作其他用途,否則不需要檢索所有的代碼。

@codes = lambda { Code.find(:all, :conditions => ["auth = ?", params[:auth] ]) } 

if params[:auth] && !(@codes.call.empty?) 
    #something 
else 
    #nothing 
end 
相關問題