Buduję aplikację, która musi przypisać zadanie do wielu pracodawców.Szyny 4: pola wyboru z has_many przez
mam budować te modele:
#assignment.rb
class Assignment < ActiveRecord::Base
has_many :employer_assignments
has_many :employers, :through => :employer_assignments
end
#employer.rb
class Employer < ActiveRecord::Base
has_many :employer_assignments
has_many :assignments, :through => :employer_assignments
end
#employer_assignment.rb
class EmployerAssignment < ActiveRecord::Base
belongs_to :employer
belongs_to :assignment
end
A teraz chcę formularz, aby zapisać się do tabeli employer_assignment ale następujący kod użyłem do mojej postaci nie działa.
<div class="field">
<%= f.label :employer_ids %><br />
<%= collection_check_boxes(:assignment, :employer_ids, Employer.all, :id, :name) %>
</div>
zrobiłem dodać: employer_ids do mojego kontrolera przypisania z którego próbuję wysłać formularz, który nie tworzy przypisanie ale nie tworzy rekordy w tabeli employer_assignment. Po dodaniu ich za pomocą konsoli (Assignment.last.employers < < Employer.all ) wszystko działa poprawnie. Jestem pewien, że czegoś mi brakuje, ale nie wiem, co.
Z góry dziękuję.
Czy znalazłeś rozwiązanie tego problemu? Mam podobny problem. Nie zapisuje do DB – Benjamin
Railsy IIRC 4 używają domyślnie silnych parametrów, które nie obsługują typów tablic. Musisz więc jednoznacznie zdefiniować, że 'employer_ids' powinno być tablicą, aby była dozwolona przez. –