Rails 3.1.3生成器在Windows上生成错误的语法

时间:2012-01-24 17:30:22

标签: 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 }

而不是

cities_controller.rb:9: syntax error, unexpected ':', expecting '}'
      format.json { render :json => @cities }

这真是一种奇怪的行为。我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

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