2

Rails 3.2.11 を使用し、HAML の最新バージョンが何であれ、ブロックを HAML パーシャルに渡そうとしています。HAML ファイルで変数を使用して、パーシャルをレンダリングする前にその変数を割り当てることができると思いますが、それは非常にずさんで厳格に感じられます。

Rails アプリケーションのレイアウトに があることに気付きました= yield。これは明らかに、すべてのビューがレンダリングされる場所です。HAML パーシャルで引数とブロックをきれいに使用する方法はありますか?

4

1 に答える 1

3

パーシャルには何でも渡すことができます。次のようなものを使用できます。

= render "people/person", :object => @manager, :locals => { :show_details => true }

ブロックを処理するために、yield と content_for を一緒に使用することもできます。次のようなことをすると:

- content_for :profile_links do
  %li Hello #{@manager.name}
  %li= link_to "Settings", @manager.profile

次に、アカウントメニューで次のようにします。

%ul#account_menu
  = yield :profile_links
  %li= link_to "Sign Out", sign_out_url
于 2013-02-05T02:09:32.820 に答える