Cześć,
natrafiłem na taki problem chyba mam jakieś zaćmienie umysłu
mamy.
class Product ....
belongs_to :category
i
class Category ....
has_many :products
w migracji dla tabeli products mam pole category_id + ustawiony klucz obcy
i teraz tworzę nowy produkt np p = Product.create(:name => "Mleko’, :category_id => 1) gdzie 1 to np nabiał
i jak teraz dobrać się do category.name wybierając produkt
Dzięki wywalało mi taki błąd:
ActiveRecord::AssociationTypeMismatch: Category(#70193705301600) expected, got Fixnum(#70193674173460)
okazało się że literówka się wkradła. Myślałem że robię coś źle.
Podziękował
taki błąd się pojawia, gdy robisz
product.category = 1 # zamiast product.category_id = 1 lub product.category = Category.first
Ogólnie polecam wszelkiego rodzaju pomoce dla początkujących;)
Product.find(1).category.name
lub
# product.rb
delegate :name, :to => :category, :prefix => true
Product.find(1).category_name
@sarniak - na delegatory przyjdzie czas – kolega jeszcze mocno początkujący jest
Dzięki rozjaśniłeś mi wszystko