2013-02-23 61 views
0

在我們的客戶模型(導軌3.2.12),一種方法是find_customers定義如下:是否可以在索引操作(rails 3.2.12)中創建params [:customer]?

def find_customers 
     customers = Customerx::Customer.scoped 
     customers = customers.where("sales_id = ?", sales_id_s) if sales_id_s.present? 
     customers 
end 

sales_id_s的通過圖形式經由params[:customer][:sales_id_s]傳遞英寸我們希望使用相同的find_customers方法來回報客戶控制器索引操作中的客戶。的代碼是:

def index 

     if has_index_individual_right?('customerx_customers') 
     params[:customer][:sales_id_s] = session[:user_id] 
     customer = Customerx::Customer.new(params[:customer]) 
     @customers = customer.find_customers 
     else 
     ...... 
     end 
     ...... 
end 

然而代碼params[:customer][:sales_id_s] = session[:user_id]導致錯誤:undefined method [] =」的零:NilClass`。在調試中,params [:customer]返回nil。

有沒有辦法在索引操作中創建params[:customer]對象,因此我們可以調用模型方法find_customers

感謝您的幫助。

回答

2

可以通過使用此確保它存在(並且是散列)params[:customer] ||= {}

相關問題