0
有控制器的以下代碼:如何通過Rails 4使用has_many更新關係?
def create
@employee = business.beauty_salon_employees.build(employee_params)
if @employee.save
#
else
render 'new'
end
end
def edit
@employee = business.beauty_salon_employees.find(params[:id])
end
def update
@employee = business.beauty_salon_employees.find(params[:id])
if @employee.update(employee_params)
#
else
render 'edit'
end
end
protected
def employee_params
params.require(:beauty_salon_employee).permit(:name, :description, :phone, { beauty_salon_service_ids: [] })
end
和視以下代碼:
- @business.beauty_salon_services.each do |s|
.row
= check_box_tag "beauty_salon_employee[beauty_salon_service_ids][]", s.id, @employee.beauty_salon_services.include?(s)
= s.name
型號代碼:
has_many :beauty_salon_employee_services, dependent: :destroy
has_many :beauty_salon_services, through: :beauty_salon_employee_services
accepts_nested_attributes_for :beauty_salon_services
而且
has_many :beauty_salon_employee_services, dependent: :destroy
has_many :beauty_salon_employees, through: :beauty_salon_employee_services
問題是以下事情:當我創建一些BeautySalonEmployee時,選中一些複選框計數(例如,1)都是好的。但是當我嘗試更新這個沒有選中複選框的記錄時,我沒有任何錯誤,但沒有更新,即當我再次打開這個記錄時,我仍然看到1複選框被選中。我該如何解決它?怎麼了?