在Message模型中,我有这个功能:
def set_phone_number_for_customer!
unless self.customer.phone_number
self.customer.set_phone_number
self.customer.increment_customer_counter
if self.customer.save
self.customer.buy_another_phone_number
end
end
end
customers has_many messages
messages have_one customer
customers have_one phone_number
phone_numbers have_many customers
此方法在每个Message上被调用为before_save。我担心像“self.customer.phone_number”这样的链接关联会导致性能问题,因为消息创建是我应用程序上最常见的操作。有没有更有效的方法来做我正在寻找的东西?我想也许我可以直接将phone_number与消息关联,但是当即将创建消息时,我们不知道它是否还有一个关联的phone_number(这就是该方法的要点)。
谢谢!