我跟隨Railscast第165集(修訂)的發球如何編輯和更新多個記錄在一個窗體中。但是,當我提交表單同時編輯多個記錄,我得到:Rails的ActiveModel :: ForbiddenAttributesError編輯多條記錄
ActiveModel::ForbiddenAttributesError
對於此行:
product.update_attributes(params[:product].reject { |k,v| v.blank? })
PARAMS:
參數:
{"utf8"=>"✓",
"_method"=>"put",
"authenticity_token"=>"g5C2siF5GcWfPxhph4utWn8JBs2JXEpIUBDO6OlFyQQ=",
"product_ids"=>["11142",
"11143"],
"product"=>{"user_id"=>"",
"allow_multi_users"=>"true",
"state_id"=>"",
"site"=>"",
"department"=>"",
"room"=>"",
"asset_type_id"=>"",
"asset_model_id"=>"",
"sync_with_jss"=>"",
"carrier_id"=>"",
"mobile_contract_req_date"=>"",
"mobile_contract_end_date"=>"",
"mobile_international_plan"=>"",
"mobile_tethering"=>"",
"mobile_account"=>""},
"commit"=>"Update"}`
常模盟友,我想這是因爲我沒有允許強參數的屬性。但這不是一個屬性,它是表達所有價值的參數。
這是我的Products.rb模型,所以它不應該已經接受params [:product]?
products_controller.rb
private
def product_params
params.require(:product).permit(:mobile_account, :mobile_international_plan, :mobile_tethering, :mobile_contract_end_date..)
end
使用Rails 4.0.0
請嘗試在您的問題中添加'puts params [:product]'的值。 – mohameddiaa27 2014-11-06 23:54:33
我在錯誤期間添加了params輸出。 – Devin 2014-11-07 00:09:37