Ruby on rails 3 使用初始值设定项的Rails常量
我不确定我做错了什么。我在一个文件中编写了一个模块:config/initalizers/constants.rb 我定义了一个带有常量和静态方法的模块。在视图中调用时可以访问它。当我想从其中一个环境文件中调用该方法时,就会出现问题,在该文件中我得到一个单位化常量错误。我相信初始值设定项是在加载环境文件之后运行的,但我不确定该方法或文件的最佳位置Ruby on rails 3 使用初始值设定项的Rails常量,ruby-on-rails-3,initialization,constants,Ruby On Rails 3,Initialization,Constants,我不确定我做错了什么。我在一个文件中编写了一个模块:config/initalizers/constants.rb 我定义了一个带有常量和静态方法的模块。在视图中调用时可以访问它。当我想从其中一个环境文件中调用该方法时,就会出现问题,在该文件中我得到一个单位化常量错误。我相信初始值设定项是在加载环境文件之后运行的,但我不确定该方法或文件的最佳位置 任何帮助都将不胜感激。这可以通过将常数保存为环境变量来解决。对于发展,我可以推荐。当然,它也需要添加到生产服务器环境中,但是Heroku等使这非常容易
任何帮助都将不胜感激。这可以通过将常数保存为环境变量来解决。对于发展,我可以推荐。当然,它也需要添加到生产服务器环境中,但是Heroku等使这非常容易 在根rails目录中新创建的
.env
文件中添加类似CONSTANT\u NAME=stringofcharacters1234的内容,每次启动rails s
时,它都会解析该文件,并通过env
散列让您可以访问这些变量,就像env[“CONSTANT\u NAME”]
需要的地方
我还更喜欢使用ENV.fetch(“CONSTANT_NAME”)
,因为如果它是空的,这将引发一个错误,如果由于一个空的ENV变量而导致某些操作失败,则有助于调试
希望这就是你要找的