Существует 2 модели: BeautySalonCategory и BeautySalonService:Удаление неиспользуемых вложенных записей обновление модели в Rails 4
class BeautySalonCategory < ActiveRecord::Base
has_many :beauty_salon_services, dependent: :destroy
accepts_nested_attributes_for :beauty_salon_services, allow_destroy: true
end
class BeautySalonService < ActiveRecord::Base
belongs_to :beauty_salon_category
end
В контроллере:
def category_params
params.require(:beauty_salon_category).permit(:name, beauty_salon_services_attributes: [:name, :cost, :duration, :id])
end
Я использую category_params, чтобы создать новый объект BeautySalonCategory с соответствующей BeautySalonService объекты. Оно работает. Также хочу сделать следующее: при обновлении объекта BeautySalonCategory будут удалены неиспользуемые связанные объекты BeautySalonService (например, категория имеет 3 связанные службы, а я обновляю эту категорию только 1 службой от этих 3 - Я хочу, чтобы другие 2 службы были удалены). Вы можете мне помочь?
def update
@category = business.beauty_salon_categories.find(params[:id])
@category.update!(category_params)
end
Вы спрашиваете, когда собираетесь обновить категорию, сохранить полученную вложенную службу BeautySalonService и удалить все остальные для этой категории? – Alireza