将参数传递给HAML Partial

时间:2013-02-04 22:58:54

标签: ruby-on-rails ruby-on-rails-3 haml

使用rails 3.2.11,无论最新版本的HAML是什么,我一直试图将块传递给HAML部分。我想我可以在HAML文件中使用一个变量,然后在渲染部分之前分配该变量,但这感觉真的很草率和刚性。

我注意到在rails应用程序布局中,有一个= yield,这显然是我的所有视图都被渲染的地方。有没有办法让我在HAML部分中干净地使用参数和块?

1 个答案:

答案 0 :(得分:2)

你可以将你喜欢的任何东西传递给他们。你可以使用这样的东西:

= 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