Ruby on rails 4 在仍不允许的白名单强参数上作为标记

Ruby on rails 4 在仍不允许的白名单强参数上作为标记,ruby-on-rails-4,strong-parameters,acts-as-taggable-on,Ruby On Rails 4,Strong Parameters,Acts As Taggable On,用这个把我的头撞到墙上。我已经在上实现了acts_as_taggable_,但即使我在文档中白名单了参数,我还是得到了一个未经允许的参数错误 不知道为什么 谢谢你的帮助 当然可以 class Course < ActiveRecord::Base acts_as_taggable acts_as_taggable_on :skills [...] end 如果:skills不是数组,它也会引发错误 In_form.html.erb <div class="field"

用这个把我的头撞到墙上。我已经在上实现了acts_as_taggable_,但即使我在文档中白名单了参数,我还是得到了一个未经允许的参数错误

不知道为什么

谢谢你的帮助

当然可以

class Course < ActiveRecord::Base

  acts_as_taggable
  acts_as_taggable_on :skills
  [...]
end
如果:skills不是数组,它也会引发错误

In_form.html.erb

<div class="field">
<%= f.label :skills %><br>
<%= f.text_field :skill_list %>

我找到的解决方案是从我的模型中删除acts_as_taggable_on:skills,并将:skill_list=>[]替换为:tag_list

我猜这会丢失acts_as_taggable_on的多标记功能,但至少它能正常工作

<div class="field">
<%= f.label :skills %><br>
<%= f.text_field :skill_list %>
Started PATCH "/courses/15" for 127.0.0.1 at 2015-03-24 23:10:40 +0000
Processing by CoursesController#update as HTML
  Parameters: {"utf8"=>"✓",   "authenticity_token"=>"A/4NFlFKwOU/tPQxfbMfh8vsu1dD4lGplqIbna1kooU=", "course"=>{"name"=>"Test course", "skill_list"=>"coding, html, debugging", "cost"=>"", "location"=>"", "duration"=>"", "skill_level"=>"", "format"=>"", "website"=>"", "contact"=>"", "headline"=>"", "description"=>""}, "commit"=>"Update Course", "id"=>"15"}
  [1m[35mCourse Load (0.0ms)[0m  SELECT  "courses".* FROM "courses"  WHERE "courses"."id" = ? LIMIT 1  [["id", 15]]
  [1m[36mActsAsTaggableOn::Tag Load (1.0ms)[0m  [1mSELECT "tags".* FROM "tags" INNER JOIN "taggings" ON "tags"."id" = "taggings"."tag_id" WHERE "taggings"."taggable_id" = ? AND "taggings"."taggable_type" = ? AND (taggings.context = 'skills' AND taggings.tagger_id IS NULL)[0m  [["taggable_id", 15], ["taggable_type", "Course"]]
Unpermitted parameters: skill_list