新手学 rails,做的课题是网上商店。 现在已经创建好了网站的基本布局,即 application.html.erb。 现在新添加了一个分类模块,我的设想是每当后台添加一个新的分类,都会在全局的导航栏中显示出来。 该如何将这一功能通过 application.html.erb 实现呢?
layout 本来就是动态的啊……除非,你现在的导航是一个一个手动放上去的?
不知道这个方法行不行: 写个 helper,然后从数据库里获取分类信息,然后动态构建 html?
就把 layout 当一般的模板写。
#1 楼 @nightire --! 现在确实是一个一个放上去的,我这不是想用点什么更高级的方法把它放上去嘛。问题是分类是由分类模块控制的,有一个 controller 和一个 model,怎样才能在 layout 中调用这里面的数据呢?
#2 楼 @chunlea 3q,我试试先。
你要的是 yield 和 content_for 可以看 Rails Guides 里面的介绍:
yield
content_for
http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield
#6 楼 @huacnlee 谢谢,我用一个辅助方法解决了,不试试不知道,试过才发现真的很简单。