4
当我使用一个Rails引擎,并希望重写,并添加到它的行为,我都面临着以下问题:重写ActiveRecord模型并定义新的attr_accessible时,如何添加而不重复?
说发动机有场名为
module MyEngine
class Course < ActiveRecord::Base
attr_accessible :name, :description, :price
end
end
一个ActiveRecord的模型,我想在我的主要的Rails应用程序创建一个迁移,到列添加到它,我需要新的列添加到attr_accessible(这样可以大量分配)
MyEngine::Course.class_eval do
attr_accessible :expiration_date
end
但随后的Rails抱怨说第一3 attrs不是M屁股分配的,因此而不是“加入”新属性的覆盖,我要重新声明中重写类中的所有属性,如:
MyEngine::Course.class_eval do
attr_accessible :name, :description, :price, :expiration_date
end
有没有更好的办法不重新声明这些属性,并添加新的属性?