2013-06-12 29 views
7

Tôi gặp sự cố với liên kết has_and_belongs_to_many trong dự án Ruby On Rails của mình.has_and_belongs_to_many assocation không hoạt động

Dưới đây là mô hình của tôi:

class Store < ActiveRecord::Base 
    attr_accessible :address, :city, :map_url, :name, :uimage_url 
    has_and_belongs_to_many :furnitures_id 
end 

class Furniture < ActiveRecord::Base 
    attr_accessible :description, :image_url, :maintenance, :name, :size 
    has_and_belongs_to_many :store_id 
end 

Đây là bảng tham gia của tôi di cư:

create_table "furnitures_stores", :id => false, :force => true do |t| 
    t.integer "furniture_id" 
    t.integer "store_id" 
end 

sau đó tôi đã cố gắng để chèn một số giá trị với seed.rb:

Furniture.delete_all 
furnitures = Furniture.create([{name: 'aaaa 1'}]) 

Store.delete_all 
storee = Store.create([{name: 'S 1'}]) 

Nhưng nó không hoạt động; Tôi gặp lỗi này:

**rake aborted! 
uninitialized constant Store::FurnituresId** 

Trả lời

8

Bạn cần has_and_belongs_to_many :furnitureshas_and_belongs_to_many :stores. Bạn cần phải tham khảo các mô hình, không phải là chìa khóa nước ngoài.

Xem A Guide to ActiveRecord Associations để biết thêm thông tin.

+0

nhưng làm cách nào tôi có thể tham khảo mô hình? – Teo

+0

@Teo Tôi không biết ý bạn là gì. –

+0

Tôi hiểu ngay bây giờ .. Và nó hoạt động .. Cảm ơn – Teo