Przeczytałem o collection_check_boxes
, ale nie rozumiem, jak mogę ustawić sprawdzone wartości. Mam następujący model:Nieokreślone parametry w szynach 4
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
Edycja Widok:
<%= form_for(@objective) do |f| %>
<%= f.collection_check_boxes :objective_ids, Objective.all, :id, :name %>
<%= f.submit %>
<% end %>
pole wyboru HTML są ok, ale nie wiem jak ustawić wartości do objective
. Próbowałem zdefiniować objective_ids= objectives_ids
, ale nic się nie dzieje.
kontroler:
class ObjectivesController < ApplicationController
def objective_params
params.require(:objective).permit(:name, :code, :description, :objective_ids)
end
end
EDIT Plik dziennika mówi Unpermitted parameters: perspective_id, objective_ids
Może również być zapisany jako '.permit (: nazwa,: kod,: opis, id_obiektu: [])' – user664833