Mam bardzo prosty modelklienta czynne Admin wejścia do formy relacji has_and_belongs_to_many
class Lifestyle < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :profiles
end
który ma has_and_belongs_to_many
relacji z Profile
class Profile < ActiveRecord::Base
attr_accessible ...
belongs_to :occupation
has_and_belongs_to_many :lifestyles
accepts_nested_attributes_for :lifestyles
end
chcę użyć ActiveAdmin edytować obiekt profilu, ale przypisz także Lifestyles do profilu. Powinien być podobny do obsługi belongs_to :occupation
, ponieważ jest on automatycznie sortowany przez ActiveAdmin do skrzynki z opcjami wstępnie wypełnionymi dostępnymi zajęciami.
Próbowałem użyć metody budowania formularzy has_many
, ale to tylko pokazało mi formularz do wpisania nazwy stylu życia i po złożeniu, zwróciło błąd.
f.object.lifestyles.build
f.has_many :lifestyles do |l|
l.input :name
end
Błąd pojawia się:
Can't mass-assign protected attributes: lifestyles_attributes
To doskonały sposób dla mnie byłoby zbudować kilka pól wyboru, jeden dla każdego stylu życia w DB. Wybrany oznacza, że styl życia jest powiązany z profilem, a niewybrany oznacza usunięcie relacji.
Mam wielkie wątpliwości, czy jest to możliwe przy użyciu ActiveAdmin i bez konieczności tworzenia bardzo złożonej logiki, aby sobie z tym poradzić. Byłbym bardzo wdzięczny, gdybyś wyraził swoją opinię i doradził mi, czy powinienem pójść tą drogą, czy inaczej podchodzić do niej inaczej.
+1 za poświęcenie czasu, aby szczegółowo odpowiedzieć na własne pytanie. – cdesrosiers
Interesujące, że nie musiałem ręcznie określać 'kolekcji' (activeadmin 0.5.1, formtastic 2.2.1). Świetna odpowiedź i tak! – asymmetric