渲染:动作和渲染:模板之间的区别

rub*_*nce 36 rendering ruby-on-rails

render :action => "new"和之间有什么区别render :template => "users/new"?我听说过渲染模板,我们可以用于其他控制器的视图.这两者之间的渲染布局是否存在差异?对于渲染:模板,是否需要定义一个动作或者视图页面本身是否足够?

chr*_*ais 67

没有区别.
render :template => 'some/thing'就像我们在控制器中render 'some/thing'一样,也是一样的.render :action => 'thing'some

来自Ruby On Rails指南 ;

render :edit
render :action => :edit
render 'edit'
render 'edit.html.erb'
render :action => 'edit'
render :action => 'edit.html.erb'
render 'books/edit'
render 'books/edit.html.erb'
render :template => 'books/edit'
render :template => 'books/edit.html.erb'
render '/path/to/rails/app/views/books/edit'
render '/path/to/rails/app/views/books/edit.html.erb'
render :file => '/path/to/rails/app/views/books/edit'
render :file => '/path/to/rails/app/views/books/edit.html.erb'
Run Code Online (Sandbox Code Playgroud)


use*_*220 5

以前,"foo/bar"在控制器操作中调用 render等效于render file: "foo/bar". 在 Rails 4.2 中,这已改为意思render template: "foo/bar"。如果您需要渲染文件,请更改您的代码以使用显式形式 ( render file: "foo/bar")。

http://guides.rubyonrails.org/4_2_release_notes.html#render-with-a-string-argument