Ruby on rails Ruby API包装器和Rails

Ruby on rails Ruby API包装器和Rails,ruby-on-rails,ruby,api,wrapper,Ruby On Rails,Ruby,Api,Wrapper,好的,我在一个Gem表单上为一些restapi准备了一个Ruby包装器,在安装Gem之后,我可以创建Ruby文件,只要我使用require'Gem\u file\u name,一切正常 现在,我希望能够在Rails项目上使用这个gem,这样我就可以调用这些方法并在不同的页面中显示结果。 严格地说,gem不是用来与rails一起工作的,我仍然可以将它添加到rails文件中吗 API现在需要一个令牌和一个帐号,这就是问题所在 我在config/initializers/a文件中创建了一个与gem_n

好的,我在一个Gem表单上为一些restapi准备了一个Ruby包装器,在安装Gem之后,我可以创建Ruby文件,只要我使用require'Gem\u file\u name,一切正常

现在,我希望能够在Rails项目上使用这个gem,这样我就可以调用这些方法并在不同的页面中显示结果。 严格地说,gem不是用来与rails一起工作的,我仍然可以将它添加到rails文件中吗

API现在需要一个令牌和一个帐号,这就是问题所在

我在config/initializers/a文件中创建了一个与gem_name.rb相同的文件 上面有两个变量:令牌和帐号。 这些变量的实际值作为环境变量在config/local_env.yml中。关键是当我启动rails时,我得到一个错误:Uninitialized常量

假设我成功地解决了问题1,我是否能够使用包装器上的方法而不在每个erb页面上使用require'gem_file_name'呢


非常感谢

Rails提供config/application.rb文件,用于指定各种Rails组件的设置。我们希望先设置环境变量,然后再进行任何其他设置。Rails提供了一个config.before\u配置方法来执行此操作

要使用config/local_env.yml,需要在config/application.rb中添加以下代码:

config.before_configuration do
     env_file = File.join(Rails.root, 'config', 'local_env.yml')
     YAML.load(File.open(env_file)).each do |key, value|
       ENV[key.to_s] = value
     end if File.exists?(env_file)
end

这就是我所做的:

在config/secrets.yml->api\u token:verylongstring上创建了一个带有标记的变量 在.gitignore上添加了secrets.yml文件 在控制器中创建了before_操作,我希望使用api建立连接,并使用Rails.application.secrets.api_令牌从secrets.yml文件调用令牌变量
是的,您可以向rails添加纯RubyGem,因为默认情况下Gemfile中的所有内容都是必需的,您不必添加显式require。但是对于1,我们需要看到一些实际的代码:这太模糊了。问题似乎出在env变量上。在config/local_env.yml路径中创建YAML文件,然后我是否能够在rails控制台上调用该变量?API_令牌:非常长的字符串,带有使用ENV[API_令牌]的令牌谢谢@lalit.sethi143这会在启动rails服务器或控制台时导致错误。。。未定义的局部变量或main:Object nameError的方法“config”请参阅本文