Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 带有Rails布局的动态侧栏_Ruby On Rails - Fatal编程技术网

Ruby on rails 带有Rails布局的动态侧栏

Ruby on rails 带有Rails布局的动态侧栏,ruby-on-rails,Ruby On Rails,例如,我想让我的侧边栏有几个动态内容。使用其他方法会导致我将查询代码放到视图中,这根本不是一个好主意。我想在我的控制器中保留任何查询 据我所知,目前有几个ff。方法: 呈现共享部分->否将查询放置在何处 render :partial => "shared/sidebar" 注释中的内容->其他详细信息 <%= yield :sidebar %> <% content_for :sidebar do %> <a href="http://www.nets

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

据我所知,目前有几个ff。方法:

呈现共享部分->否将查询放置在何处

render :partial => "shared/sidebar"
注释中的内容->其他详细信息

<%= 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 %>




第三种是直接将其写入布局文件


那么我应该如何实现这一点呢?

如果希望在每个视图中都实现这一点,可以将填充必要数据的方法放置在应用程序控制器中,并使用before\u过滤器触发它

before_filter :load_sidebar

def load_sidebar
  @data = Thingy.find(:all)
end

然后,您的Posior或CordNo.Of元素检查@数据和进程。

< P>如果您想减少<代码> ApdioTyPosialRealth.Rb<代码>中的代码量,您可能需要考虑使用GEM。


这将允许您在单独的单元格控制器中定义“查询”,并在视图中使用类似于
render\u cell:sidebar,:myquery
的内容为其呈现内容。

“内容->仍在视图中”为什么?我知道这是一种方法,你可以这样做,并且在控制器中仍然有所有的查询,为什么你需要在视图中以这种方式进行查询?基本上基于我的理解。它移动到控制器的视图。但是如果是这样的话,我需要在每个控制器中输入查询代码,并在我想要显示侧边栏的每个视图中输入内容。