簡體   English   中英

Rails HABTM數量

[英]Rails HABTM quantity

我正在開發訂單系統。

Models:
   Orders
   Products
   OrderProducts

每個產品都有自己的數量字段,該字段告訴用戶有多少。

我希望能夠訂購多個相同產品和多種產品。 即。 HABTM。

class Order < ActiveRecord::Base
    has_and_belongs_to_many :products
end

class Product < ActiveRecord::Base
    has_and_belongs_to_many :categories
    has_and_belongs_to_many :orders
end

class OrdersProducts < ActiveRecord::Base
    belongs_to :product
    belongs_to :order
    validates_presence_of :q
end

我按照這篇文章進行了設置-> oughbot

但是問題是,在控制台中執行此操作時無法訪問“ q”字段。

>> product = Product.create
>> order = Order.create
>> orders_products = OrdersProducts.create :product => product, :order => order, :q => 10

>> order.products.collect{|each| each.q}
=> NoMethodError: undefined method `q' for #<...

但是,我指的是一篇很老的文章。

我將用has_many:through關系替換您的HABTM關系。 當您向聯接模型添加其他屬性時,在這種情況下,您想添加數量應使用has_many:through而不是has_and_belongs_to_many。

編輯:您可以在關於關聯的railsguide中閱讀更多有關has_many:through和has_and_belongs_to_many之間的區別的信息:

http://guides.rubyonrails.org/association_basics.html#choosing-between-has-many-through-and-has-and-belongs-to-many

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM