0
在這裏與更新不ID錯誤是一段代碼:在控制器
def update
@category = Category.find(params[:id])
if @category.update_attributes(params[:category], :as => :roles_update)
@category = Category.find[params[:id]]
render 'show', :notice => 'Category was successfully updated'
else
@categories = Category.all
render 'index'
end
end
和錯誤執行上述時:
Couldn't find Category without an ID
然而有類別ID(= 1)在參數轉儲:
{"utf8"=>"✓",
"_method"=>"put",
"authenticity_token"=>"aFk+bcHKA3zwck1PgrNOwVvZfeXtsT57ywHGiB4odDY=",
"category"=>{"description"=>"audio/video",
"active"=>"1"},
"commit"=>"Update Category",
"id"=>"1"}
的代碼就沒有錯誤,如果註釋掉#@類= Category.find [PARAMS [:編號]在IF循環。但rspect會給出錯誤:ActiveRecord :: RecordNotFound:
有關此問題的任何建議?感謝
可能是此行:'@Category = Category.find [PARAMS [:ID]]'。應該使用圓括號:'@category = Category.find(params [:id])''。 – Alex
方括號肯定會成爲問題。你也可以通過編寫'@ category.reload'而不是'@category = Category.find(params [:id])'(line 5)來簡化你的代碼。 –
得到一個nil.reload錯誤,說「評估錯誤nil.reload」。這裏是編輯方法:def edit @category = Category.find(params [:id]) end – user938363