【发布时间】:2010-02-05 19:09:58
【问题描述】:
让我解释一下我的问题:
我有 2 个模型:
class User < AR::Base
has_many :contacts
end
class Contact < AR::Base
belongs_to :user
belongs_to :user_contact_id, :class_name => "User", :foreign_key => "user_contact_id" # The "contact" is an ID from the table user.
def self.is_contact?(user_contact_id)
# CHECK IF THE RECORDS EXIST VIA DB OR CACHE OR WHATEVER #
end
end
有一个用户实例为@user,你可以检查is_contact吗?像这样:
@user.contacts.is_contact?(a_user_id)
这很好用,我的问题是我想在 is_contact 中访问@user 的属性?联系方式。
这可能吗?
谢谢大家。
【问题讨论】:
-
问题是我正在开发一个巨大的约会网站,所以我需要将一些列表带到 Memcache 或东京内阁。为此,我想控制 self.is_contact? 的所有内容。在开发中,我可以使用 AR 进行检查,而对于生产,我可以使用其他东西。我的问题不是如何检查联系人是否存在,这很容易。我的问题是在 self.is_contact 中访问@user?在将方法调用为@user.contacts.is_contact?(some_user) 谢谢
标签: ruby-on-rails ruby activerecord rails-models