Rails after_save 错误
Posted
技术标签:
【中文标题】Rails after_save 错误【英文标题】:Rails after_save error 【发布时间】:2013-11-08 17:26:02 【问题描述】:这是使用 after_save 回调的正确方法吗?
class CouponsController < ApplicationController
after_save :remove_restrictions
private
def remove_restrictions
logger.debug("in after save")
end
end
此代码将错误抛出为
undefined method `after_save' for CouponsController:Class
使用 after_save 的正确方法是什么?
【问题讨论】:
把你的后保存在你的模型中 @rubyist - 如果您想将此作为答案,我将删除我的。我想我们差不多同时回答了。 【参考方案1】:app/models/coupon.rb
class Coupon < ActiveRecord::Base
# after_save goes to your model
after_save :remove_restrictions
private
def remove_restrictions
logger.debug("in after save")
end
end
app/controllers/coupon_controller.rb
class CouponController < ApplicationController
# after_filters goes to your controller
after_filter :remove_restrictions
private
def remove_restrictions
logger.debug("in after filters")
end
end
【讨论】:
哎呀我的坏!现在明白了,谢谢 顺便说一句,我可以在 after_save 回调中查询记录吗? 我的意思是我可以在模型回调中编写控制器代码,例如“@list=Coupons.all” 是的,你可以写......但是回调的目的不同............更多信息请查看api.rubyonrails.org/classes/ActiveRecord/Callbacks.html以上是关于Rails after_save 错误的主要内容,如果未能解决你的问题,请参考以下文章
Rails:是不是有跳过 after_save 过滤器的 save_without_validation 等效项?