我一直在学习Ruby on Rails,但是当涉及到基于irb而不是基于Rails或Sinatra框架的示例的Ruby gems时,我仍然遇到问题。我正在尝试实现Block.io比特币API功能。但我找到的代码只是Ruby,所以我不知道在哪里为API Key创建配置文件,以及我是否需要创建一个控制器来使其在Rails的视图中工作。
宝石和示例在:https://github.com/BlockIo/gem-block-io
我通过Rails上的bundle install安装了这个gem
gem install block_io -v=1.0.6
Ruby示例显示以下内容:
>> require 'block_io'
>> BlockIo.set_options :api_key=> 'API KEY', :pin => 'SECRET PIN', :version => 2
在配置文件的Rails中我会输入上面的api_key和pin吗?
在示例中,他们显示了获取地址的代码,如下所示:
BlockIo.get_my_address
我是否需要在控制器中创建一个功能,例如:
def address
@my_address = BlockIo.get_my_addresses
end
并在视图中使用:
<%= @my_address %>
我需要一些关于上述内容的指导,我们将非常感谢任何评论或帮助。
答案 0 :(得分:0)
require 'block_io'
可以像Gemfile
一样进入gem 'block_io'
。只要gem名称也是您想要从此gem中获取的文件名,Rails / bundler将自动为您提供。
BlockIo.set_options :api_key=> 'API KEY', :pin => 'SECRET PIN', :version => 2
可以放入config/initializers/block_io.rb
之类的启动器中。这种方式只有在Rails启动服务器或控制台或跑步者时才调用set_options
。
将此类似文件放入文件config/initializers/block_io.rb
BlockIo.set_options :api_key=> ENV['BLOCK_IO_API_KEY'], :pin => ENV['BLOCK_IO_PIN'], :version => 2
在使用环境变量时,您不会在您的仓库中提交任何秘密。
现在,您应该可以在任何操作中致电BlockIo.get_my_address
。