如何将对象传递给另一个模型的回调?

时间:2015-11-26 04:21:48

标签: ruby-on-rails ruby-on-rails-4 activerecord

我有一个Membership模型,我有以下回调:

after_create :setup_connection, unless: Proc.new { self.connection_exists }

这是被调用的方法:

  def connection_exists
    Connection.where("membership_id = ? OR invited_membership_id = ?", self.id, self.id).count > 0 ? true : false
  end

但这是我想要作为回调运行的查询,但无法弄清楚如何将对象传递给我想要的。

Connection.where("invited_membership_id = ?", resource.id)

如何将resourceuser的等效内容传递到after_create模型Membership上运行的回调中?

1 个答案:

答案 0 :(得分:1)

after_create回调中已经设置了关联,您无需将任何对象传递给回调,因为您的成员资格已经知道谁是resourceuser

Connection.where("invited_membership_id = ?", self.resource.id)