Tôi đang xây dựng một ứng dụng phải gán một nhiệm vụ cho nhiều nhà tuyển dụng.Rails 4: các hộp kiểm có has_many thông qua
Tôi đã xây dựng các mô hình:
#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
Và bây giờ tôi muốn các hình thức để lưu vào bảng employer_assignment nhưng đoạn mã sau tôi sử dụng cho hình thức của tôi không hoạt động.
<div class="field">
<%= f.label :employer_ids %><br />
<%= collection_check_boxes(:assignment, :employer_ids, Employer.all, :id, :name) %>
</div>
Tôi đã thêm: employ_ids vào bộ điều khiển chuyển nhượng mà từ đó tôi cố gắng gửi biểu mẫu tạo bài tập nhưng không tạo bản ghi trong bảng employ. Khi tôi thêm chúng thông qua bảng điều khiển (Assignment.last.employers < < Employer.all ) tất cả đều hoạt động tốt. Tôi chắc chắn tôi đang thiếu một cái gì đó nhưng không thể tìm ra những gì.
Xin cảm ơn trước.
Bạn đã tìm thấy giải pháp cho điều này chưa. Tôi gặp một vấn đề tương tự. Không lưu vào DB – Benjamin
IIRC ray 4 sử dụng thông số mạnh theo mặc định, không hỗ trợ các loại mảng. Vì vậy, bạn cần xác định rõ ràng rằng 'employ_ids' phải là một mảng, cho phép nó được cho phép thông qua. –