1
我有一个users_manager引擎,它有一个User
模型类。修改控制器文件后加载了哪些文件?
在其他购物搜索引擎,我在User
模型添加一些协会与下面的代码,在shopping/lib/shopping.rb
:
module Shopping
class Engine<Rails::Engine
initializer :shopping_append_user do
UsersManager::User.class_eval do
has_many :products,:class_name=>"Shopping::Product"
has_many :virtues,:class_name=>"Shopping::Virtue"
has_many :containers,:class_name=>"Shopping::Container"
has_many :concerns,:class_name=>"Shopping::Concern"
has_many :remarks,:class_name=>"Shopping::Remark"
has_many :praisings,:class_name=>"Shopping::Praising"
has_one :cart,:class_name=>"Shopping::Cart"
has_one :shop_information,:class_name=>"Shopping::ShopInformation"
has_many :comments,:class_name=>"Shopping::Comment"
has_many :created_orders,:class_name=>"Shopping::Order",:foreign_key=>"creator_id"
has_many :processing_orders,:class_name=>"Shopping::Order",:foreign_key=>"processor_id"
end
end
initializer :shopping_append_file do
Upload::File.class_eval do
has_many :image_uuids,:class_name=>"Shopping::ImageUuid"
end
end
end
def self.table_name_prefix
"shopping_"
end
end
运行rails server
后,应用程序工作正常。然而,修改一个控制器文件后,我浏览网页,它给了我下面的消息:
undefined method `products' for #<UsersManager::User:0x00000003022a58>
如何轨重新加载该文件修改后他们?我怎样才能让我的引擎正常工作?
我的Rails的版本是从GitHub 3.2.0.pre,Ruby是1.9.0。
Thanks.In的config.to_prepare块,自我是ActionDispatch :: Reloader.So self.customize_file和self.customize_user的一个实例不能在confing.to_prepare块被调用。 – 2011-12-15 10:55:10