基本上我有一個initializer class
在RAILS_ROOT/config/initialiers/app_constant.rb
使一切都易於控制。Rails:在創建類之前運行初始化程序
class AppConstant
APIURL = 'http://path.to.api'
end
而在RAILS_ROOT/model/user.rb
,我的設置:
class User < ActiveResource::Base
self.site = AppConstant::APIURL
end
和運行rails s
的時候,我得到了以下錯誤
<class:User>: uninitialized constant User::AppConstant::APIURL
我知道,這個問題是由於Rails運行在創建類之後的初始化器。在Rails設置類之前,有什麼辦法讓一些初始化器運行嗎?
最後這個問題是通過添加require "#{Rails.root}\conf\initializers\app_constant.rb"
到之前右側滑軌負荷模型加載application.rb
解決。
感謝您的回答,我嘗試過使用全局範圍'::'但它不起作用。問題是,當Rails生成類「User」時,類「AppConstant」未初始化。但我不知道如何讓類'AppConstant'在讀取'User'類之前得到初始化。 – jwall
更新了我的回答 – DanS
你說得對,最後我必須這樣來解決問題。 – jwall