Rails 3环境变量属于哪里?

时间:2010-09-28 12:27:13

标签: ruby-on-rails variables environment

我对Ruby on Rails 3比较陌生,希望将Ambethia的Recaptcha插件集成到我的应用程序中。

在遵循Rails 2文档的内容时,要求将以下内容放入environment.rb

ENV['RECAPTCHA_PUBLIC_KEY']  = '6Lc6BAAAAAAAAChqRbQZcn_yyyyyyyyyyyyyyyyy'
ENV['RECAPTCHA_PRIVATE_KEY'] = '6Lc6BAAAAAAAAKN3DRm6VA_xxxxxxxxxxxxxxxxx'

这与Rails 3 environment.rb文件有何关系,目前如下所示:

# Load the rails application
require File.expand_path('../application', __FILE__)

# Initialize the rails application
Testapp::Application.initialize!

1 个答案:

答案 0 :(得分:3)

在rails 3中,您可以像单个单元一样使用Rails :: Application类,这样就可以直接添加

module TestApp
 class Application < Rails::Application
    config.recaptcha_public_key = 'XXX'
    config.recaptcha_private_key = 'XXX'
 end
end

然后您可以通过

访问此数据
TestApp::Application.config.recaptcha_public_key
TestApp::Application.config.recaptcha_private_key

不再需要ENV数据。

在你的控制器中,一条简单的线就可以了。

verify_recaptcha(:private_key => TestApp::Application.config.recaptcha_private_key)

在视野中

<%= recaptcha_tags :public_key => TestApp::Application.config.recaptcha_public_key %>