我正在使用Ahoy Email来跟踪发送给餐厅的电子邮件。 但是我想建立这样的关系:
一个AhoyMessage
belongs_to
一个Restaurant
一个Restaurant
has_many
AhoyMessages
以便我可以访问,例如:
ahoy_message.restaurant.phone_number
==> "+33612345678"
当我查看文档时,知道使用User
模型是一种简单的方法,但是我只能使用Restaurant
模型,因此文档中的示例无法使用为我的特殊情况工作。
答案 0 :(得分: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是饭店对象的多态关联。