Ruby on rails Rails 3.1.3生成器在Windows上生成错误语法

Ruby on rails Rails 3.1.3生成器在Windows上生成错误语法,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我在windows机器上使用Rails 3.1.3,它似乎生成了完全错误的语法。然而,当我运行服务器时,一切似乎都很好。这真的很奇怪。但是,当我的一个朋友(在Mac电脑上)运行相同的代码时,会给他带来大量语法错误 此代码是生成脚手架的结果。但是,生成器在Mac上运行良好 cities_controller.rb:9: syntax error, unexpected ':', expecting '}' format.json { render json: @cities } cit

我在windows机器上使用Rails 3.1.3,它似乎生成了完全错误的语法。然而,当我运行服务器时,一切似乎都很好。这真的很奇怪。但是,当我的一个朋友(在Mac电脑上)运行相同的代码时,会给他带来大量语法错误

此代码是生成脚手架的结果。但是,生成器在Mac上运行良好

cities_controller.rb:9: syntax error, unexpected ':', expecting '}' format.json { render json: @cities } cities_controller.rb:9:语法错误,意外的“:”,应为“}” format.json{render json:@cities} 而不是

cities_controller.rb:9: syntax error, unexpected ':', expecting '}' format.json { render :json => @cities } cities_controller.rb:9:语法错误,意外的“:”,应为“}” format.json{render:json=>@cities}
这真是一种奇怪的行为。我不知道如何解决这个问题。

这个
{render json:@cities}
变体是Ruby 1.9语法,如果您运行Ruby 1.9,它会像这样生成它。如果您的朋友将Ruby升级到1.9(或更好,使用rvm动态切换版本),它应该可以工作,如果您降级到1.8,您的生成器将开始使用更旧、更兼容的语法。

通过安装Ruby 1.9.Yep来修复它。这就是问题所在。我的朋友得了1.8.7分。升级后,它不再抱怨了。