渴望加载Rails 3应用程序

时间:2012-05-11 02:09:39

标签: ruby-on-rails ruby-on-rails-3

我正在尝试减少Rails 3应用程序中的数据库查询数量。

用户模型:

has_many :agreements

协议模式:

belongs_to :user

协议表有两个用户ID字段... payer_id和payee_id。是否有可能做出如下工作:

user_payer_agreements = current_user.agreements
user_payee_agreements = current_user.agreements

我可以在事务的一方使用user_id,但我需要双方。是否可以在创建关联的过程中指定payer_id或payee_id而不是user_id?如果没有,我是否需要使用join或sql语句。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

has_many :payer_agreements, :class_name => 'Agreement', :foreign_key => :payer_id
has_many :payee_agreements, :class_name => 'Agreement', :foreign_key => :payee_id

你可以这样做:

current_user.payer_agreements
current_user.payee_agreements

这是你在找什么?