Код:Сохранение вложенной has_many ассоциации на основе динамических флажков в активных Администратор
Бизнес-модель
class Business < ApplicationRecord
has_many :business_categories
has_many :categories, through: :business_categories
......
end
Категория Модель
class Category < ApplicationRecord
has_many :services
has_many :business_categories
has_many :businesses, through: :business_categories
.....
end
BusinessCategory Модель
class BusinessCategory < ApplicationRecord
belongs_to :business
belongs_to :category
has_many :business_category_services
has_many :services, through: :business_category_services
....
end
class Service < ApplicationRecord
belongs_to :category
end
в й форме, которую я хочу спроектировать, посмотрите ниже снимок.
please have a look on snapshot
form do |f|
f.inputs 'Business' do
f.input :name
f.input :category_ids, as: :check_boxes, collection: Category.all.map{|category| [category.name, category.id]}
f.has_many :business_categories, :class=>'select_category', :heading=>'Services', :new_record=> true do |business_category|
business_category.input :service_ids, as: :check_boxes, collection: Service.all.map{|service| [service.name, service.id]}, :input_html => { :class => 'services_checkboxes'}
end
in the snapshot как вы можете видеть - все категории и услуги Флажки исходя из категории и услуг таблицы через Category.all
и Service.all.
и service_ids
должен быть динамичным, я имею в виду, я должен видеть только те услуги, которые основаны на выбранной категории на шаге 2, а не на всех из них.
Как его реализовать?
@Muhammed для новой записи также мой код не за работой. –
@Anand Вы можете использовать эту форму для новой записи также, пожалуйста, проверьте ссылку! –
@Muhammed для новой записи также мой код неправильный. Снимки показывают что-то вроде html design , который мне нужно реализовать. И ссылка, которую вы поделили, верна, что category_ids => ["", "1", "2"] должны пройти в параметрах [: business], чтобы сохранить категории бизнеса. , и это происходит в моем случае также params => {: business => {: name => "xyz", "category_ids" => ["", "1", "2"]}}, и это будет сохранить записи в объединении таблица business_categories, потому что бизнес имеет много категорий , но я застрял на сохранении записей в таблице соединений business_category и службы –