新手问题 如何在全局 layout 中加入一些动态内容呢?

MIx · 2013年09月21日 · 最后由 MIx 回复于 2013年09月22日 · 2238 次阅读

新手学 rails,做的课题是网上商店。 现在已经创建好了网站的基本布局,即 application.html.erb。 现在新添加了一个分类模块,我的设想是每当后台添加一个新的分类,都会在全局的导航栏中显示出来。 该如何将这一功能通过 application.html.erb 实现呢?

layout 本来就是动态的啊……除非,你现在的导航是一个一个手动放上去的?

不知道这个方法行不行: 写个 helper,然后从数据库里获取分类信息,然后动态构建 html?

就把 layout 当一般的模板写。

#1 楼 @nightire --! 现在确实是一个一个放上去的,我这不是想用点什么更高级的方法把它放上去嘛。问题是分类是由分类模块控制的,有一个 controller 和一个 model,怎样才能在 layout 中调用这里面的数据呢?

#2 楼 @chunlea 3q,我试试先。

你要的是 yieldcontent_for 可以看 Rails Guides 里面的介绍:

http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield

#6 楼 @huacnlee 谢谢,我用一个辅助方法解决了,不试试不知道,试过才发现真的很简单。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号