Potrzebna pomoc Rails_admin has_many :through oraz enum

Witam,

Robię panel w rails_admin i mam problem z relacją has_many :through.
Generalnie sytuacja wygląda tak, że mam 2 modele połączone tą relacją, poobcinałem modele żeby było bardziej przejrzyście.

class Car < ActiveRecord::Base
 has_many :car_licenses
 has_many :licenses, :through => :car_licenses

def licenses_enum
    if(self.partner.nil?)
       { "Brak" => "0"}
    else
       License.where('partner_id=?',self.partner_id).map { |c| [c.description, c.id ] }
    end

 end

end

class License < ActiveRecord::Base
 has_many :car_licenses
 has_many :cars, :through => :car_licenses
end

class CarLicense < ActiveRecord::Base
  attr_accessible :car_id, :license_id
  belongs_to :car
  belongs_to :license
end

w configu rails_admin mam dodane w

config.model 'Car' do

    configure :fishery_licenses do
      visible(false)
    end

 field :licenses do
          multiple true
        end
end

rails_admin tworzy ładną listę wielokrotnego wyboru ale przy zapisywaniu rekordu mam błąd

ActiveRecord::AssociationTypeMismatch in RailsAdmin::MainController#edit

License(#76184820) expected, got String(#69215870)

to jest dość jasne ponieważ patrząc na źródło jakie wygenerował rails_admin to oczekiwany jest obiekt License a przekazujemy “1”

id="car_licenses" multiple="multiple" name="car[licenses][]"><option value="1">testowa </option>

co można z tym zrobić? Szukam info od jakiegoś czasu i jedyne co znalazłem, to żeby zrobić partial i zmienić tak widok, żeby było

name="car[licenses_id][]"

Powyższego jeszcze nie testowałem, prośba o pomoc bo jestem dość świeży w temacie :slight_smile:

popraw post tak, żeby był w blokach code, bo teraz to jest zupełnie nieczytelne

był w blokach code ale tylko pierwszy akapit był formatowany - nie wiem czemu, teraz widzę, że jest ok mimo, że nic nie poprawiałem.