在rails mountable引擎中使用gem初始化devolopment.rb环境中的对象

时间:2016-01-26 23:18:39

标签: ruby-on-rails rails-engines

完全失败。

我正在关注此示例应用教程https://www.wepay.com/developer/resources/wefarm-tutorial

这似乎是一个简单的教程,除了我在rails引擎中构建它。我目前正在尝试按照教程并初始化新对象。

初始化一个新的WePay对象。将这些变量添加到config / development.rb:

wefarm / config / environments / development.rb

应用程序特定信息

CLIENT_ID = 32636
CLIENT_SECRET = "180c800c62"
USE_STAGE = true
WEPAY = WePay.new(CLIENT_ID, CLIENT_SECRET, USE_STAGE)

我认为我遇到的问题是我的核心引擎与用户以及应用程序的其余部分一起使用,我将这些代码行添加到空shell应用程序中。我如何确保我的引擎在开发中使用它我还假设我将在生产时再次遇到此问题。

在另一个问题中,用户指定我将此代码放入错误的区域如果我使用引擎它应该在初始化文件夹中,但是在文档中他们只是指定将代码放入配置/环境文件,以便在何处/如何将其转换为引擎。如果它进入初始化文件夹,我怎么能让该文件只包含指定的代码?

任何帮助都会非常有帮助。

聚苯乙烯。客户端ID和秘密我们的测试信息

1 个答案:

答案 0 :(得分:0)

在Rails 4引擎中,在 secrets.yml

中定义应用特定信息
  1. 根据环境指定密钥和ID将解决密钥的环境相关配置。 示例: 发展:

    CLIENT_ID:123

  2. 使引擎可配置

  3. config / initializer / wefarm.rb

    中的示例
    Weform.CLIENT_ID =  Rails.application.secrets.CLIENT_ID 
    
    1. 在lib / engine.rb(引擎)

      mattr_accessor:CLIENT_ID

    2. 现在您可以在WeForm.CLIENT_ID

      中访问引擎中的client_id

      了解更多信息Rails Engine