在一个视图中我使用
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>
在第一种情况下。
有没有办法将实例变量转换为局部变量或以其他方式解决此问题?
答案 0 :(得分:0)
您可以尝试将第一个视图更改为
render :partial => "form_linktype_#{@linkjob.link_type}", :locals => {:linkjob => @linkjob || nil}