0

페이지를로드 할 때로드되는 부분이 페이지에 있습니다. 부분은로드시 이와 같이 호출됩니다.전체 페이지를 다시로드하지 않고도 js.erb에서 부분 레일 렌더링

<%= f.simple_fields_for :application_attachments do |attachment| %> 
     <%= render "attachment_fields", {:f => attachment, :instalment => true, :type => 'application_assignment'} %> 
     <% end %> 
내가 다음 application_attachments 협회의 값을 변경하는 일부 기능을 실행하고 난 그냥 그 부분을 다시로드하고 최신 정보를 렌더링 할 필요가

. 기본적으로 난 그냥 부분을 렌더링 부분을 다시 렌더링에 노력하고 값을 업데이트

내 방법은 내가 업데이트하고이

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 %> 

같은 부분을 렌더링하려고 js.erb 파일이 값을 업데이트하지만 작동하지 않습니다.

내가해야할 일이 무엇인지, 또는 필요한 부분을 최신 HTML로 부분적으로 업데이트하는 방법이 확실하지 않습니다. 어떤 조언이나 옵션

답변

0

감사이 시도 :

<% form_for @application do |f| %> 
<div id="my_id"> 
    <%= render partial: 'custom_partial', locals: {fields_for_param: 
    application_attachments}%> 
</div> 
<% end %> 
:

<%= f.simple_fields_for :fields_for_param do |attachment| %> 
    <%= render "attachment_fields", {:f => attachment, :instalment => 
true, :type => 'application_assignment'} %> 
<% end %> 

2 페이지 구조는이를 좋아한다 (_custom_partial.html.erb) :

1이에 대한 부분을

3 인 js.erb 파일 만 다시로드

$('#my_id').html('<%= j render 'custom_partial', locals: {fields_for_param: your_changebale_variable}%>'); 

이 코드는 사용자가 직접 수정할 수 있습니다. 이것이 효과가 있기를 바랍니다. thnaks.

+0

이 구현에서 큰 문제는 @ anand는 간단한 필드 객체 f는 무엇입니까? js erb 및 페이지 구조에 대해 f를 어디에서 전달합니까? –