这可能是一个愚蠢的观点,但我找不到解决方案.
我有一个带有类方法update_menu的简单模型,我希望在每次保存实例后调用它.
Class Category attr_accessible :name,:content def self.menu @@menu ||= update_menu end def self.update_menu @@menu = Category.all end end
那么获取after_filter调用update_menu的正确语法是什么?
我试过了:
after_save :update_menu
但它在实例(不存在)上查找方法而不在类上查找.
谢谢你的回答.
解决方法
通过删除self使其成为实例方法.
# now an instance method def update_menu @@menu = Category.all end
在类方法上进行after_save回调没有多大意义.不保存类,实例是.例如:
# I'm assuming the code you typed in has typos since # it should inherit from ActiveRecord::Base class Category < ActiveRecord::Base attr_accessible :name end category_one = Category.new(:name => 'category one') category_one.save # saving an instance Category.save # this wont work