Как передать / получить локальный var в рельсах 3.1.0 частичное представление? - PullRequest
1 голос
/ 23 января 2012

Вот код в form.html.erb для частичного просмотра. Локальный var: sid был определен как идентификатор записи, и его нужно передать в частичное представление standard.html.erb как локальный var.

  <% @rfq.standards.each do |r| %>  
    <p><%= render :partial => 'standards', :locals => { :f => f, :sid => r.id } %></p>
  <% end %>

Вот частичное представление стандартов:

  <%= f.association :standards, :collection => Standard.active_std.all(:order => 'name'), :label_method => :name, :value_method => :id, 
                                :prompt => "Choose std", :label => "standard:", :include_blank => true, :selected => :sid %>

При визуализации частичное представление стандартов должно отображать набор стандартов с выбранным sid. Однако приведенный выше код не выбирает стандарты вообще. Пробовал sid (строка): selected => sid. Это вызывает ошибку о том, что sid не был определен.

Мой вопрос: как правильно передать и получить локальную переменную в поле зрения? Большое спасибо.

1 Ответ

1 голос
/ 27 января 2012

Проблема была вызвана тем, что частичные стандарты не были вызваны в каждом месте с одинаковым форматом. В одном методе (не показан здесь) частичные стандарты назывались как: render :partial => standards, :locals => {:f => f}. После добавления: sid => 0 как render :partial => standards, :locals => {:f => f, :sid => 0}, sid здесь успешно передается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...