.js.erb file
을 사용하여 레일을 사용하여 Ajax 호출을 통해 변수를 전달할 수있는 방법을 찾고 있습니다. 순간부분 호출과 Ajax 호출을 통한 변수 전달
내보기
<% document = @documents.select { |d| d.skill_id == s.id } %>
<div class="doc_upload">
<%= render partial: 'shared/documents/document_form', locals: { document: document } %>
</div>
공유/문서/document_form 그래서
<% if document %>
<% document.each do |doc| %>
<%= doc %>
<% end %>
<%= render template: '/documents/new' %>
<% else %>
<%= render template: '/documents/new' %>
<% end %>
이를 선언하고 난 Ajax 호출
으로 처리하고 새 문서를 만들 때create.js.erb
$('.doc_upload').html("<%= j render(partial: 'shared/documents/document_form', locals: { document: document }) %>")
그러나 undefined local variable or method
문서 '
이유가 있습니까? document
더 이상 액세스 할 수 없습니까?
감사
도움에 감사드립니다 ... 어떻게 로컬 해시에 액세스 할 수 있습니까? – Richlewis
당신이 나를 오해했습니다. 'create.js.erb'를 체크했다면, 여러분은 다음과 같은 것을 작성했습니다 :><% = j render (부분 : '공유/문서/document_form', 지역 : {문서 : 문서})' '{document : document} '의 해쉬를 가진'locals'라는 매개 변수가 있습니다. 'local : {document : @document} '로 변경하면 코드가 정상이라면 모두 좋다. – Finks
또 다른 팁, 당신은 이것을 다음과 같이 다시 쓸 수 있습니다 : '<% = j render 'shared/documents/document_form', document : @ document' %> – Finks