与局部变量中的实例变量和局部变量冲突
在一个视图中,我使用
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>
,它在第二种情况下会呈现精美,但在第一种情况下会抛出 a 。
有没有办法将实例变量转换为局部变量或以其他方式解决这个问题?
In one view I use
render :partial => "form_linktype_#{@linkjob.link_type}", :locals => {:linkjob => @linkjob }
where @linkjob is an instance variable of type Linktype
In another view I use
render :partial => "shared/quality_requirements/linktype_#{o.link_type}", :locals => {:linkjob => o}
where o is a local variable of type Linktype.
Both variables in both cases contain the same information. The only difference is their scope.
Still, if I use
<b><%= linkjob.atext %></b>
in the partial, it renders beautifully for the second case but throws a
undefined local variable or method `linkjob' for #<#<Class:0xab61db8>:0xab5a964>
in the first case.
Is there a way to either turn a instance variable into a local variable or somehow else solve this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试将第一个视图更改为
You might try changing your first view to