在我的Rails控制器中,我有一行
return render action: "new"
Phusion Passenger给我错误
syntax error, unexpected ':', expecting kEND
为什么?
答案 0 :(得分:3)
render
的以下语法在Rails中被视为标准语言:
render :action => "new" # drop the `return`
render :action => :new # can also pass a symbol
另见:
render :template => 'home/index'
render :file => 'path/to/file'
render :text => 'prints this text'
render :partial => 'home/partial' # typically used in views
编辑:
正如下面的评论者精明地指出的那样,哈希配对还有另一种语法。但是请注意,因为仅可以与Ruby 1.9一起使用,因此在Ruby 1.8(可能是任何版本prior to Rails 4.0)上运行的任何Rails都无法使用它:
render action: "new"
render template: 'home/index'
render file: 'path/to/file'
render text: 'prints this text'
render partial: 'home/partial'