【发布时间】:2015-04-18 18:13:22
【问题描述】:
我有关联
交付模式
class Delivery < ActiveRecord::Base
belongs_to :schedule, inverse_of: :deliveries
accepts_nested_attributes_for :schedule
end
调度模型
class Schedule < ActiveRecord::Base
has_many :deliveries, inverse_of: :schedule
include PushUpdates
def offer
deliveries.last.try(:offer)
end
end
PushUpdates:app/model/concerns/push_updates.rb
module PushUpdates
extend ActiveSupport::Concern
included do
after_create {update_client_store :create unless Rails.env.test? }
after_update {update_client_store :update unless Rails.env.test? }
end
def update_client_store(operation)
...
self.offer
end
end
现在,在保存交付的同时,我还接受了一组时间表详细信息。
当它保存交付和计划时,会为计划模型调用after_create 回调,当它试图找出deliveries.last 时,它会给出nil 值。
由于我接受它作为嵌套属性的一部分,因此交付对象应该可供它使用,但它仍然提供 nil 值。
我在这里遗漏了什么吗?谢谢。
【问题讨论】:
标签: ruby-on-rails-4 activerecord ruby-on-rails-3.2 associations rails-activerecord