В моем контроллере у меня есть:
respond_to do |format|
format.js
end
В моем рж:
page.replace_html("source_credential_list", :partial => "source_credential_list", :object => @all_source_credentials)
or
page.replace("source_credential_list", :partial => "source_credential_list", :object => @all_source_credentials)
В моем частичном: (
<% fields_for(@brand_report_source_credential_key) do |ff| %>
<%= ff.select :source_credential_id , options_from_collection_for_select(@all_source_credentials,'id','credential_display_name')%>
<% end %>
В моем исходном представлении:
<span id="source_credential_list">
<%= render :partial => 'source_credential_list' %>
</span>
Когда я заменяю, он отлично работает, но только один раз, во второй раз я получаю предупреждение с нулевым значением, я подозреваю, что диапазон исчез. Если я делаю replace_html, это работает, он обновляет диапазон, но помещает фактический rjs/javascript в диапазон, включая новый выбор/выпадающий список. Что-то вроде этого:
Исходные учетные данные try { Element.update("source_credential_list", "\n \n\n"); } catch (e) { alert('Ошибка RJS:\n\n' + e.toString()); alert('Element.update(\"source_credential_list\", \"\n \n\n\");'); бросить е }
Я попытался переместить диапазон в частичное и выполнить обе комбинации, но ничего не получилось. Я уверен, что это что-то очевидное....