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 回答