使用rails 3.2.11,无论HAML的最新版本是什么,我一直在尝试将块传递给HAML部分。我想我可以在HAML文件中使用一个变量,然后在渲染分部之前分配该变量,但这感觉非常草率和僵硬。
我注意到,在rails应用程序布局中,有一个= yield
,它显然是我所有视图的渲染位置。有没有一种方法可以让我在HAML部分中干净地使用参数和块?
您可以将想要的任何内容传递给分部。你可以使用这样的东西:
= 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