这在这里看起来很基本,但实际上我发现用Rails定义这个场景有点苛刻……
也许你们中的任何人可以提供一些指导?
因此我有三个表: Users、Invoices和User_Invoice_Viewers (这些表基本上映射了可以查看发票的用户)
现在我的模型:
User.rb:
has_many :invoices
has_many :user_invoice_viewers
has_many :invoices, through :user_invoice_viewersInvoice.rb
belongs_to user_invoice_viewers
belongs_to :userUser_Invoice_Viewers.rb
belongs_to :users
belongs_to :invoices现在这似乎是错的..。我重复了has_many :invoices on User model,所以我希望在执行时会发生冲突: User.invoices ...
对此最好的解决方案是什么?我曾经想过把它全部放到一个user_invoice表上,但由于我希望拥有更多的所有者而不是浏览者,出于性能原因,我决定在发票和它的所有者之间建立一个直接依赖关系……
谢谢
发布于 2012-07-13 11:06:03
我会考虑在关联上使用:class_name选项,这样这两个关系的名称就不同了。如下所示:
class User < ActiveRecord::Base
has_many :invoices
has_many :user_invoice_viewers
has_many :viewable_invoices, through :user_invoice_viewers, :class_name => "Invoice"
...
endhttps://stackoverflow.com/questions/11461448
复制相似问题