1

我正在使用Ahoy 电子邮件来跟踪我发送到餐厅的电子邮件。但是我想建立这样的关系:

  • 一个AhoyMessage belongs_to_Restaurant

  • 一个Restaurant has_many AhoyMessages

这样我就可以访问,例如:

ahoy_message.restaurant.phone_number
==> "+33612345678"

我知道当我查看文档时,有一种使用模型的简单方法User,但我只能使用我的Restaurant模型,因此文档中的示例不适用于我的特定情况。

4

1 回答 1

1

文档说它是多态的,您可以使用任何模型。

尝试

class CouponMailer < ApplicationMailer
  track user: -> { Restaurant.find_by(email: message.to.first) }
end


class Restaurant < ApplicationRecord
  has_many :messages, class_name: "Ahoy::Message", as: :user
end

所以你仍然会使用ahoy_message.user.phone_number,但 ahoy_message.user 是与餐厅对象的多态关联。

于 2019-01-03T17:58:13.383 回答