레일이 새롭고 중첩 된 양식을 만드는 데 도움이 필요합니다.중첩 모델 양식 - 렌더링이 작동하지 않습니다.
나는 팀/_form.html.erb
<%= form_for @team do |f| %>
<div class="field">
<%= f.label "Name" %><br />
<%= f.text_field :name, :required => true %>
</div>
<%= f.fields_for :players do |builder| %>
<%= render :partial => 'players_field', :f => builder %>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
내가 원하는 것은 팀 형태로 플레이어의 목록을 만드는 것입니다이 있습니다. 문제는 렌더링이 작동하지 않으며 players_field.html.erb가 렌더링되지 않는다는 것입니다.
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Position</th>
</tr>
</thead>
<tbody id="tableRow">
<tr>
</tr>
</tbody>
</table>
TR가 js를 사용하여 테이블에 추가됩니다.
UPDATE :
또 다른 문제는 이제 나타납니다/
이 내 JS입니다 :
이var newRow = document.createElement('tr');
newRow.innerHTML = "<td>"+ counter +"</td>"+
"<%= f.text_field :name %>"+
"<%= f.text_field :position %>"+;
document.getElementById("tableRow").appendChild(newRow);
오류 :
undefined local variable or method `f' for #<#<Class:0x0000000288dd38>:0x007f77cc1226e0>
내가 이것을 왜 추가 할 수 없습니다?
으로 바꿀 수 있습니다. 'players_field.html.erb'는 렌더링되지 않습니다. 파일의 이름은'_players_field.html.erb'이어야합니다. – deefour
네, 깜빡했는데 내 파일의 이름이 잘 지어졌습니다 _players_field.html.erb – jony17
@ jony17 여기에 몇 가지 문제가 있습니다. 먼저 부분 데이터를 전달할 때 players_field ', : locals => {: f => builder} %>'또는'<% = render'players_field ' , : f => 작성자 %>'. 둘째, 당신은 자바 스크립트 내에서 루비 코드를 실행할 수 없습니다. '<% = f.text_field : name %>'문자열은 클라이언트 측에서 실행되지 않습니다 (js 만 실행됩니다). 서버 측에서 수행해야합니다. – cdesrosiers