带有Rails布局的动态边栏

Duc*_*tal 7 ruby-on-rails

例如,我想让我的侧边栏有几个动态内容.使用其他方法将导致我将查询代码放入View中,这根本不是一个好主意.我想在我的控制器中保留任何查询.

目前我知道有几个ff.方法:

渲染共享部分 - >否在哪里放置查询

render :partial => "shared/sidebar"
Run Code Online (Sandbox Code Playgroud)

内容 - >评论中的其他详细信息

<%= yield :sidebar %>
<% content_for :sidebar do %>
  <a href="http://www.netscape.com">Netscape</a><br>
  <a href="http://www.lycos.com">Lycos</a><br>
  <a href="http://www.walmart.com">Wal Mart</a><br>
<% end %>
Run Code Online (Sandbox Code Playgroud)

第三个是直接写入布局文件.

那我该怎么做呢?

Tob*_*ede 9

如果你想在每个视图中使用它,你可以在application_controller中放置填充必要数据的方法,并使用before_filter来触发它.

before_filter :load_sidebar

def load_sidebar
  @data = Thingy.find(:all)
end
Run Code Online (Sandbox Code Playgroud)

然后你的partial或content_for元素检查@data和进程.