違いは何ですか render :action => "new"
およびrender :template => "users/new"
?レンダリングテンプレートは、他のコントローラーからのビューに使用できると聞きました。それともそれとも、2つの間でレンダリングレイアウトに違いがありますか? render:templateの場合、アクションを定義する必要がありますか、それともビューページ自体で十分ですか?
違いはありません。render :template => 'some/thing'
はrender 'some/thing'
と同じですが、some
コントローラーにいる場合はrender :action => 'thing'
と同じです。
から Ruby on Rails guide ;
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'
以前は、コントローラアクションでrender "foo/bar"
を呼び出すことは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