我的blog/_form.html.erb
上有一系列复选框,这些复选框使用Javascript / JQuery为hidden_field_tag
更新了:subcategory_ids
。
隐藏字段如下:
<%= f.hidden_field :subcategory_ids %>
据Google代码检查员说,该值正在更新:
<input type="hidden" value="1,5,6" name="blog[subcategory_ids]" id="blog_subcategory_ids">
我的blog
中具有以下schema.rb
结构:
create_table "blogs",force: :cascade do |t|
t.string "title"
t.string "teaser"
t.text "body"
t.boolean "motivation",default: false
t.boolean "mindset",default: false
t.boolean "resourcing",default: false
t.boolean "planning",default: false
t.boolean "time_management",default: false
t.boolean "discipline",default: false
t.string "image_url"
t.text "pinterest_description"
t.boolean "published",default: false
t.datetime "published_at"
t.boolean "approved",default: false
t.boolean "featured",default: false
t.bigint "user_id"
t.datetime "created_at",null: false
t.datetime "updated_at",null: false
t.string "primary_category"
t.bigint "resource_id"
t.string "subcategory_ids",array: true
t.index ["resource_id"],name: "index_blogs_on_resource_id"
t.index ["user_id"],name: "index_blogs_on_user_id"
end
还有我的blogs_controller.rb
中的以下参数:
def blog_params
params.require(:blog).permit(
:title,:teaser,:body,:primary_category,:motivation,:mindset,:resourcing,:planning,:time_management,:discipline,:image_url,:pinterest_description,:published,:published_at,:featured,:approved,:resource_id,:user_id,:pins => [],:subcategory_ids => []
)
end
但是,由于服务器中发生subcategory_ids
错误,我的unpermitted parameter: :subcategory_ids
似乎没有保存:
Started PATCH "/blogs/1" for ::1 at 2019-11-08 21:33:43 -0800
Processing by BlogsController#update as HTML
Parameters: {"utf8"=>"✓","authenticity_token"=>"VDXdyzAYmVngd5at8QE4JIe09PeEuMi6+p99AFX8nv2iO3qIXGUEDId1jnGyRXR3h8vXLVjG/EUuGtHFxAt03A==","blog"=>{"title"=>"Test Blog the First","teaser"=>"Teaser Goes Here. Yes,all the things. Yes indeed-e-o. Words are being typed. By me.","image_url"=>"https://sixkeyskills.s3-us-west-1.amazonaws.com/woman-arms-up-ocean.jpg","body"=>"<p data-bind=\"text: generatedIpsum\">Blog text</p>","primary_category"=>"General","motivation"=>"1","mindset"=>"1","resourcing"=>"0","planning"=>"0","time_management"=>"0","discipline"=>"0","subcategory_ids"=>"1,6","pinterest_description"=>"","published_at"=>"2019-11-07 00:00:00 UTC","published"=>"1","approved"=>"1","featured"=>"0","resource_id"=>""},"commit"=>"Save","id"=>"1"}
Blog Load (0.3ms) SELECT "blogs".* FROM "blogs" WHERE "blogs"."id" = $1 LIMIT $2 [["id",1],["LIMIT",1]]
↳ app/controllers/blogs_controller.rb:112
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id",1]]
↳ app/controllers/blogs_controller.rb:103
(41.0ms) SELECT "subcategories"."id" FROM "subcategories" INNER JOIN "blog_categorizations" ON "subcategories"."id" = "blog_categorizations"."subcategory_id" WHERE "blog_categorizations"."blog_id" = $1 [["blog_id",1]]
↳ app/controllers/blogs_controller.rb:73
Unpermitted parameter: :subcategory_ids
(0.1ms) BEGIN
↳ app/controllers/blogs_controller.rb:82
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id",1]]
↳ app/controllers/blogs_controller.rb:82
(0.2ms) COMMIT
↳ app/controllers/blogs_controller.rb:82
这很奇怪,因为它表明已编辑的博客确实具有subcategory_ids
,但随后又说这是一个不允许的参数。
我已重新启动服务器,但无济于事。谁能看到为什么发生此错误或为什么没有保存该错误?