我正在尝试使用evernote gem访问Evernote API.在这些说明中,它说要创建包含API帐户详细信息的配置文件,然后按如下方式加载配置文件:
config = File.dirname(__FILE__) + "/config.yml"
user_store = Evernote::UserStore.new(user_store_url, config, "sandbox")
Run Code Online (Sandbox Code Playgroud)
我evernote.yml在config文件夹中创建了一个文件,并将以下代码放入home操作中pages_controller.rb
config = File.dirname(__FILE__) + "/evernote.yml"
user_store = Evernote::UserStore.new(user_store_url, config, "sandbox")
Run Code Online (Sandbox Code Playgroud)
代码运行时,我在第二行收到此错误
Errno::ENOENT in PagesController#home
No such file or directory - /Users/ben/rails_projects/evernote_app/app/controllers/evernote.yml
Run Code Online (Sandbox Code Playgroud)
如何在不收到此错误的情况下加载配置文件?
Pan*_*kos 20
问题是File.dirname(__FILE__)指向当前文件的目录,恰好是控制器.您想指向rails根目录下的config目录.为了完成这项工作,我会做以下事情:
config = File.join(Rails.root, 'config', 'evernote.yml')
user_store = Evernote::UserStore.new(user_store_url, config, "sandbox")
Run Code Online (Sandbox Code Playgroud)
试试这个,
config_file_path = "#{Rails.root}/config/config.yml"
# or this to load yaml directly
config = YAML::load(File.open("#{Rails.root}/config/config.yml"))
Rails.root 为您提供Rails应用程序根文件夹的路径
| 归档时间: |
|
| 查看次数: |
11508 次 |
| 最近记录: |