现在我要在一个网站的每个页面都显示数据库里最新文章的标题,最简单也是最笨的方法就是在每个 controller 的每个 action 下定义一个
@topics = Topic.order("created_at desc").limit(10)
然后在 application.html.erb 里来读取
<% @topic.each do |topic| %>
<li>topic.title</li>
<% end %>
有没有最简单的方法来定义一个变量让所有的页面都能访问?
我觉得可以: 1、写在 application_helper.rb 中,用一个 helper 方法去做;
2、在 application_controller.rb 文件中初始化变量@topic。不妨试试。
#1 楼 @lidashuang 你好,我也刚好碰到这个问题,我在 application_controller 里写个方法,但是在 application.html.erb 中没有读出来,这个方法名有什么特殊吗?
#10 楼 @fresh_fish #12 楼 @lidashuang 怎么在 haml 里,这样的嵌套怎么写:
- @notifies.each do |n|
%tr
%td
= getcomment n[1]
这样写,n[1] 是错误的值