Formularz dla asocjacji polimorficznej

jak to ma wyglądać? mam trzy modele, jeden z belongs_to :kind, polymorphic: true, w bazie danych kolumny kind_id i kind_type. i teraz clue programu, jak zrobić taki formularz żebym mógł dodać jakieś połączenie za pomocą tego kind?
na razie mam coś takiego:

=simple_form_for @poster do |f|
    = f.association :kind, collection: Category.all
    = f.submit

ale w ogole nie działa tak jakbym chciał, kind_id zawsze przypisuje 0 a kind_type zostaje nil. HALP PLX!!111 (wiem ze to musi byc proste-.-)

Ale co ten formularz ma dodać? Znaczy - który z tych dwóch połączonych modeli ma być utworzony? Jeśli ma zgadnąć Twoje intencje, to zdecydowanie szukaj pomocy na jakimś forum jasnowidzów :wink:

Biorąc przykład z Picture oraz Employee i Post stąd: http://guides.rubyonrails.org/association_basics.html#polymorphic-associations
masz 3 możliwości:

  1. Najpierw tworzysz któryś z modeli Employee lub Post a potem powiązany Picture - wtedy kind_id i kind_type masz z modelu, dla którego tworzysz Picture.
  2. Tworzysz Picture, i na formularzu do jego tworzenia dajesz możliwość wyboru typu i konkretnego obiektu Employee lub Post (już istniejącego).
  3. Tworzysz dwa obiekty od razu (Employee+Picture lub Post+Picture) - wtedy kind_type powinieneś określić z góry a kind_id przy zapisywaniu (najpierw zapisujesz Employee/Post żeby określić jego ID).

tworzę @poster, który ma belongs_to category, kategorie jak widzisz wybieram z juz istniejacych. sęk w tym że nie chcę zeby user wybierał typ, tylko żeby kind_type samo się uzupełniło NA PODSTAWIE wyboru uzyszkodnika który ma do wyboru instancję różnych modeli w jednej kolekcji (domyślnie tak będzie, w moim przykładzie jest to na razie jeden model, ale problem pozostaje bo i tak w którymś momencie trzeba ten typ wyciągnąć i przyporządkować). Dopiero co sie obudziłem ale mam nadzieję że to w miare zrozumiałe:p

No, czyli generalnie przypadek 2 z mojego posta.

Więc prawdopodobnie potrzebujesz w klasie Category jakiejś metody, po której ta asocjacja będzie mogła rozpoznać typ i id. Może to pomoże:

Wyślij kind_id i kind_type, sprawdziłeś w dokumentacji railsów czy helpery formularzowe działają z polimorficznymi?

nie, na obecną chwilę robię to javascriptem, ukrytym polem i data attributes