1

Rails 3 では、レンダリングされるパーシャルのファイル名を見つけるにはどうすればよいrender 'foo'ですか?

4

1 に答える 1

4

明確にするためrenderに、コントローラー内から呼び出した場合とrender、ビューのタグ内から呼び出した場合に、2 つの異なる結果が得られます。

コントローラーbarで呼び出すrender 'foo'と、ファイルがレンダリングされます<project>/app/views/bar/foo.html.erb

たとえば、ビュー<project>/app/views/bar/show.html.erbでは、呼び出し<% render 'foo' %>によりパーシャル<project>/app/views/bar/_foo.html.erbshow.html.erbビューに含まれます。パーシャルは、ビューと同じディレクトリから取得されます。

もう少し複雑にするために、フォルダー名をレンダーに入れると、たとえばrender 'shared/foo'これは<project>/app/views.

そう:

Controller: render 'foo'              = <project>/app/views/<controller name>/foo.html.erb
            render 'shared/foo'       = <project>/app/views/shared/foo.html.erb
View:       <% render 'foo' %>        = _foo.html.erb in directory of view
            <% render 'shared/foo' %> = <project>/app/views/shared/_foo.html.erb

PSコマンドで別のものを指定する場合は、それに:format応じて変更する必要があります (例: 、など)。renderhtml.erbjs.erbjs.coffee.erb

http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

于 2012-11-12T01:22:43.063 に答える