1

在一个视图中,我使用

render :partial => "form_linktype_#{@linkjob.link_type}", :locals => {:linkjob =>  @linkjob }

其中@linkjob 是 Linktype 类型的实例变量

在另一个视图中我使用

render :partial => "shared/quality_requirements/linktype_#{o.link_type}", :locals => {:linkjob => o}

其中 o 是 Linktype 类型的局部变量。两种情况下的两个变量都包含相同的信息。唯一的区别是它们的范围。

不过,如果我使用

<b><%= linkjob.atext %></b>

在部分情况下,它为第二种情况呈现精美,但抛出了一个

undefined local variable or method `linkjob' for #<#<Class:0xab61db8>:0xab5a964>

在第一种情况下。

有没有办法将实例变量转换为局部变量或以其他方式解决这个问题?

4

1 回答 1

0

您可以尝试将您的第一个视图更改为

render :partial => "form_linktype_#{@linkjob.link_type}", :locals => {:linkjob =>  @linkjob || nil}
于 2011-05-19T18:52:16.117 回答