在我的 Rails 4 应用程序中,我有两个字段 - 默认字段id
和一个名为的字段,friendly_id
其中应包含一些随机的大写字母和id
. 例如
其中 id = 354,friendly_id 可能 = HDG354
从我的控制器中,我像这样调用模型中的方法:
@booking.save_and_send
其中@booking 是一个新的预订实例。
在我的模型中,我有:
def save_and_send
if valid?
self.friendly_id = 3.times.map { [*'A'..'Z'].sample }.join + self.id.to_s
save!
GuestMailer.booking_created(self).deliver
end
end
但是,如果实例尚未保存,我当然不能使用 ID - 您是否建议以相同的方法保存两次,或者有更好的方法吗?