Ruby on rails Ruby 1.9+;样式哈希语法没有';行不通

Ruby on rails Ruby 1.9+;样式哈希语法没有';行不通,ruby-on-rails,ruby,ruby-on-rails-3,ruby-1.9.3,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby 1.9.3,我正在macbook上运行ruby 1.9.3p194(2012-04-20修订版35410)[x86_64-darwin11.4.0] 然而,当我尝试使用“新样式”散列时,例如: stylesheet_link_tag "application", media: "all" 我收到一个错误,显示为“意外:预期)” 我可以通过替换为“旧式”哈希火箭来解决此问题: stylesheet_link_tag "application", :media => "all" 我试图弄明白为什么ra

我正在macbook上运行ruby 1.9.3p194(2012-04-20修订版35410)[x86_64-darwin11.4.0]

然而,当我尝试使用“新样式”散列时,例如:

stylesheet_link_tag "application", media: "all"
我收到一个错误,显示为“意外:预期)”

我可以通过替换为“旧式”哈希火箭来解决此问题:

stylesheet_link_tag "application", :media => "all"

我试图弄明白为什么rails不允许使用新风格的ruby哈希。任何帮助都将不胜感激。

听起来像是rails在ruby系统下运行,而您的RVM安装为1.9.3(我猜)

试一试

然后重置控制台并执行以下操作:

$ ruby -v

仔细检查一下

听起来像是rails在ruby系统下运行,而RVM安装为1.9.3(我猜)

试一试

然后重置控制台并执行以下操作:

$ ruby -v

若要再次检查,请尝试将其放入.bash_配置文件(或bashrc或任何您正在使用的配置文件):

当然,在此之后,发出source命令,然后:

rvm use 1.9.2
rvm info
它应该可以工作并显示关于当前ruby版本和gemset的所有信息。新的哈希语法失败,因为您没有实际运行ruby 1.9.3。执行“ruby-v”应该可以确认这个问题。根据上面的评论,rvm必须成为一个函数才能工作


另外,您运行的是什么操作系统?

尝试将其放入.bash_配置文件(或bashrc或您正在使用的其他配置文件):

当然,在此之后,发出source命令,然后:

rvm use 1.9.2
rvm info
它应该可以工作并显示关于当前ruby版本和gemset的所有信息。新的哈希语法失败,因为您没有实际运行ruby 1.9.3。执行“ruby-v”应该可以确认这个问题。根据上面的评论,rvm必须成为一个函数才能工作


另外,您运行的是什么操作系统?

没有Rails 1.9.3。如果看不到您实际在做什么,并且格式合理,很难说,因为很明显,新的哈希语法是有效的——您是否尝试添加paren,和/或显式地使用
{}
?(显然,检查您是否在您认为是的Ruby下运行Rails)没有Rails 1.9.3。在看不到您实际在做什么的情况下,合理地格式化,很难说,因为很明显,新的哈希语法是有效的——您是否尝试添加paren,和/或显式地使用
{}
?(很明显,检查您是否在您相信的Ruby下运行Rails。)嗨,Dave,感谢您的快速帮助。我在原来的帖子上打错了字。最后一句我的意思是说“Rails 3.2.3”。我试图发出上面的命令,但我认为我的路径有问题。我得到“RVM不是一个函数,使用“RVM使用…”选择rubies将不起作用。您需要更改终端设置以允许shell登录。”这是我一直在线研究的问题,但无法找到答案。我找不到允许我指定是否为shell登录的终端设置。嗨,Dave,感谢您的快速帮助。我在原来的帖子上打错了字。最后一句我的意思是说“Rails 3.2.3”。我试图发出上面的命令,但我认为我的路径有问题。我得到“RVM不是一个函数,使用“RVM使用…”选择rubies将不起作用。您需要更改终端设置以允许shell登录。”这是我一直在线研究的问题,但无法找到答案。我找不到允许我指定是否为shell登录的终端设置。