我阅读了关于collection_check_Boxes,但我不明白如何设置检查的值.
我有以下型号:
我有以下型号:
class Objective < ActiveRecord::Base has_many :indicators has_many :objective_children,class_name: "Objective",foreign_key: "parent_id" def objective_ids objective_children.collect{|o| o.id} end def objective_ids= objectives_ids objectives_ids.each do |id| objective_children << Objective.find(id) end end end
编辑视图:
<%= form_for(@objective) do |f| %> <%= f.collection_check_Boxes :objective_ids,Objective.all,:id,:name %> <%= f.submit %> <% end %>
html复选框确定,但我不知道如何将值设置为客观.我试过定义objective_ids = targets_ids但没有发生任何事情.
控制器:
class ObjectivesController < ApplicationController def objective_params params.require(:objective).permit(:name,:code,:description,:objective_ids) end end
编辑
日志文件表示不允许的参数:perspective_id,objective_ids
解决方法
我解决了换线
params.require(:objective).permit(:name,:objective_ids)
至
params.require(:objective).permit(:name,:objective_ids => [])