В моем контроллере у меня есть:
respond_to do |format|
format.js
end
В моем rjs:
page.replace_html("source_credential_list", :partial => "source_credential_list", :object => @all_source_credentials)
или
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 \");'); бросить е}
Я пытался переместить пролет в партиал и делать обе комбинации, но ничего не получалось. Я уверен, что это что-то очевидное ....