我在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 }
这真是一种奇怪的行为。我不知道如何解决这个问题。
答案 0 :(得分:2)
{ render json: @cities }
变体是一个Ruby 1.9语法,如果你运行的是Ruby 1.9,它会生成它。如果你的朋友将他的Ruby升级到1.9(或更好,使用rvm来动态切换版本)它应该可以工作,如果你降级到1.8,你的生成器将开始使用旧的,更兼容的语法。