[英]rendering rails partial in a js.erb without reloading the entire page
我的頁面中有一部分,當我加載頁面時會被加載。 加載時會像這樣被調用。
<%= f.simple_fields_for :application_attachments do |attachment| %>
<%= render "attachment_fields", {:f => attachment, :instalment => true, :type => 'application_assignment'} %>
<% end %>
然后,我運行一些函數來更改application_attachments關聯的值,並且我只需要重新加載該部分並呈現最新信息。
我的更新值的方法有一個js.erb文件,我嘗試像這樣更新和呈現部分文件
generate_attachment.js.erb
<% form_for @application do |f| %>
<%= f.fields_for :application_attachments do |attachment| %>
$("<%= escape_javascript render(partial: 'attachment_fields', locals: {f: attachment}, :instalment => true, :type => 'application_assignment') %>")
.appendTo($("#application-attachments-#{@rand_value}"));
<% end %>
<% end %>
基本上,我只是想重新渲染渲染部分的零件並更新值,但是它不起作用。
我不知道該怎么辦,或者如何用最新的html部分地更新所需的div。 任何建議或選擇表示贊賞
嘗試這個:
1-為此做一個局部:(_custom_partial.html.erb)
<%= f.simple_fields_for :fields_for_param do |attachment| %>
<%= render "attachment_fields", {:f => attachment, :instalment =>
true, :type => 'application_assignment'} %>
<% end %>
2頁結構應如下所示:
<% form_for @application do |f| %>
<div id="my_id">
<%= render partial: 'custom_partial', locals: {fields_for_param:
application_attachments}%>
</div>
<% end %>
3-在js.erb文件中,僅將my_id div
重新加載具有可變內容的內容,例如
$('#my_id').html('<%= j render 'custom_partial', locals: {fields_for_param: your_changebale_variable}%>');
您可以根據自己的需要修改此代碼。 希望這會工作。 惡作劇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.