ruby-on-rails 为什么我的rails散列键符号会有问题?

igetnqfo  于 2023-01-22  发布在  Ruby
关注(0)|答案(2)|浏览(151)

我最近编写了一些Rails代码行,如

RandomApp::Application.config.session_store :cookie_store, key: '_ramdom_app_session'

我已经在开发和生产模式中使用了这种代码-它工作正常。现在我得到了一个错误,我解释我必须使用以下代码代替:

RandomApp::Application.config.session_store :cookie_store, :key => '_ramdom_app_session'

(注意名为'key'的散列键的不同用法。)
我使用git在不同的系统(PC,笔记本电脑)上开发这个应用程序,我使用的是ruby 1.8.7(2011-12-28 patchlevel 357)[i386-mingw 32]和Rails 3.1.3,是什么改变了(例如ruby或rails),或者我做了什么改变,导致了这个错误的发生?

mspsb9vt

mspsb9vt1#

key:语法在Ruby 1.8.7中不可用。它直到1.9才被添加。您一定在Ruby版本沿着的某个地方做了更改。

mzmfm0qo

mzmfm0qo2#

{密钥:从Ruby 1.9.x开始支持{key =〉value}。{key =〉value}语法是旧的,但当前版本的Ruby仍然可以解释它。由于您的应用是在Ruby版本〉= 1.9.x中开发的,因此您不应继续使用Ruby 1.8.7,因为这样一来,你会遇到更多奇怪的问题。2你应该检查一下生产中使用的是哪个Ruby版本,这样你就可以在你的系统中安装相同版本的Ruby了。
有一个非常好的Ruby版本管理器,您可以利用它在Ruby版本之间切换:http://beginrescueend.com/

相关问题