2014-04-25 113 views
0

我有一个导航栏(实际上是两个),我在某些控制器中使用before动作来填充动态数据(第二个栏可能不存在),我已经看到很多关于不将大量实例变量传递给视图的抱怨,并且他们都建议在渲染中传递局部变量。我一直想知道如何使用一个实例变量在主布局中生成这些东西是一个好主意或不是,如果不是这样,我该如何做到这一点,渲染似乎覆盖了默认视图,并使用主数据只有版面rails将实例变量传递给布局或局部变量

回答

1

我不确定我是否理解你的问题。但对于一些我的菜单我使用类似的东西在我的布局:

<%= yield(:menu_top) %> 

我用

content_for :menu_top 

产生这方面的内容。

对于为例:

<%= content_for :menu_top do %> 
    <li>my specific content or var</li> 
<% end %> 

这里是content_for导轨导向:link

+0

我没有说太多,但这种方法需要这么多时间,你应该根据页面的每一个中插入这些内容有导航的页面,它很难改变,你必须改变它们! ty for answer;) – Mohibeyki

+0

好的,也许对于更复杂的逻辑,你应该试试帮助者或装饰者/演示者。其实我对他们不太熟悉,如果我找到一些文档,我会在这里发帖! –

+0

我问过我的一位老师,他说,因为它在主布局中使用并没有那么糟糕,没关系,但是我仍然期待着在没有实例变量的情况下做到这一点! ty;) – Mohibeyki