返回渲染操作时出现Rails错误

时间:2013-06-15 01:07:46

标签: ruby-on-rails ruby

在我的Rails控制器中,我有一行

return render action: "new" 

Phusion Passenger给我错误

syntax error, unexpected ':', expecting kEND

为什么?

1 个答案:

答案 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'