Ruby on rails Rails 3在未被调用之前
这是我的模型 app/controllers/registrations\u controller.rb app/models/registration_observer.rbRuby on rails Rails 3在未被调用之前,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,这是我的模型 app/controllers/registrations\u controller.rb app/models/registration_observer.rb class RegistrationObserver
class RegistrationObserver
…after_create操作工作正常,但after_destroy操作不正常。这只是基于名称的,对吗?将观察者中的动作命名为“销毁后”会将其链接到相应的控制器动作“销毁”否
我还在控制器和观察者操作中添加了puts语句。我正在将其连接到控制器动作OK,但不是观察者。它不会将其链接到控制器动作destroy。它将其链接到模型 为了在销毁后执行
,您应该
@registration.destroy
您可以在保存后进行回调,并具有相同的效果
def after_save(registration)
return unless registration.cancelled
if registration.orientation != nil
@orientation = registration.orientation
open_orientation if seats_equal_zero == false
end
end
您可以查看以获取更多信息Hmm…因此您可以在我上面的代码中看到我不想实际销毁它,我只是将取消标志设置为true。是否有其他方法可以让观察者对此动作做出反应。我应该创建一个新操作吗?因为您正在更新对象(注册),\u save
后将触发,并且您可以使用after\u save
来执行与取消检查后销毁中相同的操作
@registration.destroy
def after_save(registration)
return unless registration.cancelled
if registration.orientation != nil
@orientation = registration.orientation
open_orientation if seats_equal_zero == false
end
end