【发布时间】:2014-02-17 15:23:57
【问题描述】:
我有两个 AR 模型:
class User < ActiveRecord::Base
set_primary_key 'email'
attr_readonly :email, :etag, :full_name, :google_id, :photo_url, :suspended
has_one :sip_user, inverse_of: :user, foreign_key: 'user_email'
end
class SipUser < ActiveRecord::Base
set_primary_key 'user_email'
attr_readonly :user_email, :sip_id, :sip_password,
:int_number, :ext_number, :mobile_number
belongs_to :user, inverse_of: :sip_user, foreign_key: 'email'
end
从 User 到 SipUser 的查询工作完美:
User.find('email@company.com').sip_user
返回正确匹配的 SIP 用户。
SipUser.find('email@company.com')
也返回一个正确的数据库条目,但是
SipUser.find('email@company.com').user
没有。但它应该,根据belongs_to :user, inverse_of: :sip_user。
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails-3 activerecord associations