has_many_through NameError: uninitialized constant

130 views
Skip to first unread message

fugee ohu

unread,
Oct 21, 2019, 7:27:02 AM10/21/19
to Ruby on Rails: Talk
i=Item.first
i.item_properties
NameError: uninitialized constant Item::ItemProperties

class Item < ApplicationRecord
 has_many :boxes
 has_many :item_pictures
 has_many :pictures, through: :item_pictures
 has_many :item_item_properties, primary_key: 'item_type', foreign_key: 'item_type'
 has_many :item_properties, through: :item_item_properties
 ITEM_TYPES =  ['General', 'Book', 'Record', 'Magazine', 'Pez dispenser', 'CD', 'VHS casette']
 validates :item_type, inclusion: ITEM_TYPES
 attr_accessor "Year"
 
end

class ItemItemProperty < ApplicationRecord
 belongs_to :items, primary_key: 'item_type', foreign_key: 'item_type'
 belongs_to :item_properties, primary_key: 'item_type', foreign_key: 'item_type'
end

class ItemProperty < ApplicationRecord
 has_many :item_item_properties, primary_key: 'item_type', foreign_key: 'item_type'
 has_many :items, through: :item_item_properties
end

Ariel Juodziukynas

unread,
Oct 21, 2019, 7:31:36 AM10/21/19
to rubyonra...@googlegroups.com
ItemItemProperty is wrong, belongs_to association should be singular not plural: belongs_to :item and belongs_to :item_property

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/065ff213-21fe-4b69-a41c-7966bd82a12c%40googlegroups.com.
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
0 new messages