ruby-on-rails – 创建Rails模型时出现语法错误

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 创建Rails模型时出现语法错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用命令在Rails 3中创建Car模型:
rails generate model Car name:string id_str:string

但是我得到了错误

/home/XX/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load': /home/XX/myapp/config/initializers/session_store.rb:3: Syntax error,unexpected ':',expecting $end (SyntaxError)
...sion_store :cookie_store,key: '_myapp_session'

为什么?

我的session_store.rb

Myapp::Application.config.session_store :cookie_store,key: '_myapp_session'

我的session_store.rb出了什么问题?

解决方法

当您尝试在Ruby<中使用Ruby 1.9.2 Hash语法时,通常会发生此错误. 1.9. 在Ruby 1.9.2中,以下代码完美地运行
Myapp::Application.config.session_store :cookie_store,key: '_myapp_session'

而在Ruby< 1.9你必须使用

Myapp::Application.config.session_store :cookie_store,:key => '_myapp_session'

这很奇怪,因为您的堆栈跟踪引用了Ruby 1.9.2.你确定你使用Ruby 1.9.2运行生成器吗?

在任何情况下,您都可以将session_store.rb文件转换为hash-rocket语法.如果它有效,则表示您没有使用Ruby 1.9.2并且粘贴了无效的错误消息.

猜你在找的Ruby相关文章