我正在尝试运行《Agile Web Development with Rails 第四版》一书中的 depot_a
rails3.1.0 示例,该书可以下载 here .
我收到各种错误,即使在调用 rails server
之前运行 bundle install
后,我也无法破译。知道如何解决这个问题吗?
谢谢。
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
nuno@Houdini:~/workspace/depot_a$ rails server
=> Booting WEBrick
=> Rails 3.1.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/var/lib/gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load': /home/nuno/workspace/depot_a/config/initializers/session_store.rb:11: syntax error, unexpected ':', expecting $end (SyntaxError)
...sion_store :cookie_store, key: '_depot_session'
^
from /var/lib/gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load'
from /var/lib/gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency'
from /var/lib/gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:in `new_constants_in'
from /var/lib/gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency'
from /var/lib/gems/1.8/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/engine.rb:555
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/engine.rb:554:in `each'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/engine.rb:554
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/initializable.rb:25:in `instance_exec'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/initializable.rb:25:in `run'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/initializable.rb:50:in `run_initializers'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `each'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `run_initializers'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/application.rb:92:in `initialize!'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/railtie/configurable.rb:30:in `send'
from /var/lib/gems/1.8/gems/railties-3.1.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
from /home/nuno/workspace/depot_a/config/environment.rb:13
from /home/nuno/workspace/depot_a/config.ru:4:in `require'
from /home/nuno/workspace/depot_a/config.ru:4
from /var/lib/gems/1.8/gems/rack-1.3.5/lib/rack/builder.rb:51:in `instance_eval'
from /var/lib/gems/1.8/gems/rack-1.3.5/lib/rack/builder.rb:51:in `initialize'
from /home/nuno/workspace/depot_a/config.ru:1:in `new'
from /home/nuno/workspace/depot_a/config.ru:1
最佳答案
您使用的是 ruby 1.8.x 吗?看来您使用的是 1.9.x 风格的哈希表示法,1.8.x 无法破译
而不是
hash = { a: 1, b: 2}
你应该使用:
hash = { :a => 1, :b => 2 }
问题出在config/initializers/session_store.rb:11
,如果还是卡住,请贴出这一行的代码。
关于ruby-on-rails - 即使在捆绑安装后 Rails Server 也会退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7972322/