Обрушивая голову на стену с этим. Я реализовал act_as_taggable_on, но даже если у меня есть белые параметры (как в документации), я получаю ошибку параметров, которые не были пропущены.act_as_taggable_on whitelisted сильные параметры все еще не переданы.
Не могу понять, почему.
Все помочь оценить.
В course.rb
class Course < ActiveRecord::Base
acts_as_taggable
acts_as_taggable_on :skills
[...]
end
В courses_controller.rb
[...]
def update
@course.skill_list = params[:skill_list]
respond_to do |format|
if @course.update(course_params)
format.html { redirect_to @course, notice: 'Course was successfully updated.' }
format.json { render :show, status: :ok, location: @course }
else
format.html { render :edit }
format.json { render json: @course.errors, status: :unprocessable_entity }
end
end
end
def course_params
params.require(:course).permit(:name, :headline, :user_provider_name, :provider_id, :cost, :location, :duration, :skill_level, :no_provider, :format, :website, :contact, :description, review: [:headline, :body, :course_id, :user_id, :score], :skills => [], :skill_list => [])
end
Если: навыки не массив, то он выдает ошибку также.
В _form.html.erb
<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