【问题标题】:WEBRick doesn't start up, throwing Invalid argument errorWEBRick 没有启动,抛出 Invalid argument 错误
【发布时间】:2014-09-27 19:41:02
【问题描述】:

我正在尝试为我的本地开发启动 WEBRick,但没有成功。以下是我收到的错误消息。关于它为什么会失败的任何见解?

谢谢

C:\Sites\ThinkBlog\crumblr>rails s
=> Booting WEBrick
=> Rails 4.1.4 application starting in development
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces .
=> Ctrl-C to shutdown server
Exiting
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:297:in `initialize': Invalid argume`enter code here`nt - ${::Rails.root}/config/facebook.yml (Errno::EINVAL)
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:297:in `open'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:297:in `load_file'
from C:/Sites/ThinkBlog/crumblr/config/initializers/abook.rb:1:in `<top (required)>'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `block in load'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in `load_dependency'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'

【问题讨论】:

  • 你能显示你的 facebook.yml 代码吗?
  • 开发:facebook_api_key:281723125356234 facebook_api_secret:c8cdcaae6b160cf204e18b32423qwew23
  • 这就是我的 facebook.yml 代码中的全部内容。
  • 错误的来源似乎是 C:/Sites/ThinkBlog/crumblr/config/initializers/abook.rb 。你能展示一下它的内容吗?
  • 请出示您的 config/initializer/abook.rb。

标签: ruby-on-rails ruby ruby-on-rails-3 gem


【解决方案1】:

您的字符串插值不正确,插值以井号 (#) 开头,而不是美元。

您需要将此字符串更改为:

 FACEBOOK_CONFIG = YAML.load_file("#{::Rails.root}/config/facebook.yml")[::Rails.env] 

或者根本不用插值:

sth = YAML.load_file(Rails.root.join 'config', 'facebook.yml')

【讨论】:

  • 我使用的是双引号。 FACEBOOK_CONFIG = YAML.load_file("${::Rails.root}/config/facebook.yml")[::Rails.env]
  • @Chuchoo - 更新了答案。 :)
  • C:\Sites\ThinkBlog\crumblr>rails s =>启动 WEBrick => Rails 4.1.4 应用程序开始在0.0.0.0:3000 上开发=>运行 rails server -h 以获取更多启动选项 =>注意:服务器正在侦听所有接口(0.0.0.0)。考虑使用 127.0.0.1 (--binding 选项) => Ctrl-C 关闭服务器退出 C:/Sites/ThinkBlog/crumblr/config/initializers/devise.rb:235:in block in <top (required)>': undefined method []' for nil:NilClass (NoMethodError) from
  • 请编辑问题并将新的错误和日志行放入代码块中。如果这个新错误与这个问题中提到的错误完全无关,或者开始一个新问题。顺便说一句,错误消息特别指出了问题所在。 config/initializers/devise.rb 的第 235 行看看那里会有帮助。
  • @Chuchoo - 这是全新的错误。考虑修复此问题并发布新问题。
猜你喜欢
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
  • 2021-08-26
  • 2020-06-17
  • 2022-07-27
  • 2017-11-11
  • 2012-05-20
相关资源
最近更新 更多