从父控制器获取信息

时间:2014-01-22 14:54:18

标签: ruby-on-rails

我正在尝试在名为“top_layout.html.erb”的文件中的“menupersonas”控制器中显示导航标签菜单

我正在尝试使用渲染显示该菜单,但是来自“personas”和“personascorreos”视图:

“/ personas / 4 / edit”和“/personascorreos/index.html.erb”

这样:

<%= render file: "menupersonas/top_layout" %>

我澄清“人物角色”has_many“personascorreos”

所以我需要显示的菜单(top_layout.html.erb)中的链接是“link_to(persona_personastelefonos_path(persona))”

但我得到了这个错误:“未定义的局部变量或方法`persona'”

我想知道问题是@personascorreos = @persona.personascorreos.all控制器中未定义menupersonas

但我的问题是:有没有办法从personascorreos调用该信息而无需在menupersonas中再次定义?

1 个答案:

答案 0 :(得分:0)

如果从另一个视图渲染视图(任何部分视图),则不会调用控制器方法。

我认为你在渲染视图时错过了本地人的传递。试试:

<%= render file: "menupersonas/top_layout", persona: @persona %>

或任何定义渲染视图中缺少的本地的内容。

GL&amp; HF。