Ruby API 包装器和 Rails
Ruby API wrapper and Rails
好的,我在 Gem 表单上为一些 REST API 提供了一个 Ruby 包装器,在安装 gem 之后我可以创建 Ruby 文件,只要我使用 require 'gem_file_name"
一切正常...
现在,我希望能够在 Rails 项目中使用这个 gem,这样我就可以调用这些方法并在不同的页面中显示结果。
严格来说,gem 不能与 rails 一起使用,我还可以将它添加到 Rails Gem 文件中吗?
现在API需要一个Token和一个账号,就是这些问题...
我在 config/initializers/
中创建了一个具有相同 gem_name.rb 的文件
上面有两个变量:令牌和帐号。
这些变量的实际值作为环境变量在 config/local_env.yml
中。重点是当我启动 rails s
时出现错误:Uninitialized constant.
假设我设法解决了问题 1,我是否可以在不在每个 erb 页面上使用 require 'gem_file_name'
的情况下使用包装器上的方法?
非常感谢。
Rails 提供 config/application.rb 文件,用于指定各种 Rails 组件的设置。我们想在任何其他设置之前设置我们的环境变量。 Rails 提供了 config.before_configuration 方法。
您需要在 config/application.rb 中添加以下代码才能使用 config/local_env.yml:
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_token: verylongstring
- 在
.gitignore
上添加了 secrets.yml
文件
- 在控制器中创建了一个
before_action
我想使用 API 建立连接并 Rails.application.secrets.api_token
从 secrets.yml
文件中调用令牌变量
好的,我在 Gem 表单上为一些 REST API 提供了一个 Ruby 包装器,在安装 gem 之后我可以创建 Ruby 文件,只要我使用 require 'gem_file_name"
一切正常...
现在,我希望能够在 Rails 项目中使用这个 gem,这样我就可以调用这些方法并在不同的页面中显示结果。 严格来说,gem 不能与 rails 一起使用,我还可以将它添加到 Rails Gem 文件中吗?
现在API需要一个Token和一个账号,就是这些问题...
我在
config/initializers/
中创建了一个具有相同 gem_name.rb 的文件 上面有两个变量:令牌和帐号。 这些变量的实际值作为环境变量在config/local_env.yml
中。重点是当我启动rails s
时出现错误:Uninitialized constant.
假设我设法解决了问题 1,我是否可以在不在每个 erb 页面上使用
require 'gem_file_name'
的情况下使用包装器上的方法?
非常感谢。
Rails 提供 config/application.rb 文件,用于指定各种 Rails 组件的设置。我们想在任何其他设置之前设置我们的环境变量。 Rails 提供了 config.before_configuration 方法。
您需要在 config/application.rb 中添加以下代码才能使用 config/local_env.yml:
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_token: verylongstring
- 在
.gitignore
上添加了 - 在控制器中创建了一个
before_action
我想使用 API 建立连接并Rails.application.secrets.api_token
从secrets.yml
文件中调用令牌变量
secrets.yml
文件