получить переменную в частичном - PullRequest
0 голосов
/ 28 мая 2011

Я видел другие посты, но не могу понять, почему это не работает для меня

В моем контроллере я установил

  @referrer=referrer.name

На мой взгляд, у меня есть

  <%= render 'js', :referrer => @referrer >

тогда в моем частичном я положил

   var type =' <%= referrer >';

Я получаю ответ 'неопределенная локальная переменная или метод' referrer ', и он указывает на файл _js.

из того, что я вижу, это именно то, что должно быть написано, что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 28 мая 2011
<%= render :partial => "account", :locals => { :referrer => @referrer } %>

Ваши переменные для частичного использования должны быть переданы через хеш: locals.

Ссылка: http://api.rubyonrails.org/classes/ActionView/Partials.html

EDIT

У меня отлично работает следующее:

Контроллер:

  def index
    @referrer = "test"
  end

index.html.erb

<%= render :partial => "account", :locals => { :referrer => @referrer } %>

_account.html.erb

<%=referrer%>
0 голосов
/ 28 мая 2011

Оказывается причина была в том, что в частичном, мне пришлось позвонить

  var type='<%= @referrer %>'

не уверен, почему во всей другой документации, которую я видел, она была без символа @

...