如何通过与has_one的关系使用has_many

时间:2017-02-07 09:07:20

标签: ruby-on-rails-4

我正在尝试构建一个使用has_many :throughhas_one关系的模型。

class Cart < ActiveRecord::Base
  has_many :users
  has_many :bills, through: :users # I expect cart has many bills
end

class User < ActiveRecord::Base
  has_one :bill
  belongs_to :cart
end

class Bill < ActiveRecord::Base
 belongs_to :cart
end

当我尝试拨打cart.bills时,即使它有更多账单,它也会返回第一张账单。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

由于用户模型声明,您已指定用户只能拥有一个帐单,这就是您只获得一条记录的原因。 正确的事情是:

class User < ActiveRecord::Base
 has_many :bills
 belongs_to :cart
end

您可以参考此导轨DOC