конфликт с переменными экземпляра и локальными переменными в частичных - PullRequest
1 голос
/ 19 мая 2011

В одном представлении я использую

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>

в первом случае.

Есть ли способ превратить переменную экземпляра в локальную переменную или как-то еще решить эту проблему?

1 Ответ

0 голосов
/ 19 мая 2011

Вы можете попробовать изменить свой первый вид на

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