2010-07-12 105 views
0

我试图找到一种方法将内容添加到在从各个视图文件我application.html.haml文件中定义一个div。我想这样做的原因是因为我有一个侧边栏始终存在,并且在模板中定义,但我想有具体内容包括在侧边栏的每一页。这会做得最好的JavaScript或有一些红宝石的铁轨技巧,我可以用它来使这更容易?什么是将内容添加到模板的最佳方式?

回答

3

我会用content_for助手(Rails Guide)(API)。

在HAML,这看起来是这样的:

(布局模板)

#sidebar= yield :sidebar 

(页面模板)

-content_for :sidebar do 
    ...your content here 
+0

谢谢!这正是我需要的。无论如何要通过一个partial_for内容吗? – Teddy 2010-07-13 19:03:35

+0

content_for需要一个块(说到这,我注意到,我错过了“做”在我的答案是块开始) - 该块里面,你可以做任何事情,你将能够在一个正常的Haml的模板做的,包括渲染谐音等 – 2010-07-13 20:33:03

1

如果用谁处理的意见,专业设计人员的工作,长期来看,重复性较高的视图代码可能更容易。有些人很难搜索偏见,并“看到”他们如何融合在一起。我发现它更容易与那些人,让他们管理整个事情,如果他们需要更新多个文件。最佳?不是我们作为程序员,但设计师们更多的时候看惯了大部分的HTML中的一个或三个文件,而不是20 :)

使用谐音尽可能保持代码DRY

此链接帮助你

http://guides.rubyonrails.org/layouts_and_rendering.html

+0

的这第一款由伊恩Terell的答案[这里](http://stackoverflow.com/questions/926761/best-practices-for-using-partials-in-rails/926941#复制926941)。现在,这只是粗鲁。 – sepp2k 2010-07-27 23:05:31

相关问题