这是我的情景:
我有三个模型Subscriber, Subscription, Plan
,关系为has_many :through
订户和计划之间。
订户可以有多个计划,其中包含一个活动计划。每当订户选择计划时,我使用accepts_nested_attributes_for :subscriptions
保存它。我从表格中得到了一个计划。
现在我的问题是我想获得在订阅表中创建的记录的ID。
目前我正在通过查找订阅者的所有订阅来检索它,该订阅在创建的日期下降并从结果集中获取。 有没有直接的方法来做到这一点?
答案 0 :(得分:1)
假设你在控制器中有这个:
@subscriber = Subscriber.find(params[:id])
@subscriber.update_attributes(params[:subscriber])
然后你可以找到最后一个订阅ID:
@subscriber.subscriptions.order("created_at DESC").first.id
答案 1 :(得分:-1)
@ subscriber.subscriptions.last
是一种更便宜的解决方案。 否则你可以在模型中编写自定义方法。