0
我無法解決這個錯誤。無法弄清楚爲什麼@客戶被賦值爲零。ruby中nil.update_attributes的解決方案是什麼?
「你有一個零對象時,你沒想到吧! 你期望的ActiveRecord :: Base的實例。 在評估nil.update_attributes發生錯誤」
這裏是一個片段代碼:
def cedit
@title = "Edit Customer Information"
@customer = Customer.find(params[:id])
if request.post? and params[:customer]
attribute = params[:attribute]
case attribute
when "fname"
try_to_update @customer, attribute
when "email"
try_to_update @customer, attribute
when "add"
try_to_update @customer, attribute
end
end
end
private
def try_to_update(customer, attribute)
if customer.update_attributes(params[:customer])
flash[:notice] = "Customer's details updated."
redirect_to :action => "record", :controller => "c2"
end
end
你確定你正在做一個post請求,並且在params中有一個'customer',你確定你沒有在尋找'id'嗎? – ThoKra 2011-03-29 10:26:48
爲什麼你打破了REST的概念?我建議你閱讀一本關於導軌的書。 – dombesz 2011-03-29 10:31:55
是的,我有一個參數的客戶。我爲另一個動作和控制器使用了類似的代碼。它在那裏工作正常.. – Mukul 2011-03-29 10:35:27