2017-03-07 115 views
0

我想呈現一個form_for內的字符集合(所以我可以使用在每個character_item內同時發送多個字符)。我正在使用下面的代碼,但它是錯誤的。只有第一個字符在表單內呈現,其餘的則出現在表單之外。我究竟做錯了什麼?Rails如何在form_for中渲染集合?

<%= form_for(:message, url: :messages, method: :post, html: { id: "message_form" } 
      ) do |f| %> 

    <% if characters.any? %> 
    <% characters.each do |character| %> 
     <%= render "characters/character", character: character, f: f %> 
    <% end %> 
    <% end %> 

<% end %> 

這將產生以下HTML:

<form id="message_form" enctype="multipart/form-data" action="/messages" accept-charset="UTF-8" method="post"> 
    <div class="character_item" id="character_alfred"> 
</form> 
<div class="character_item" id="character_barney"> 
<div class="character_item" id="character_chas"> 
<div class="character_item" id="character_dean"> 

編輯

我已經縮小問題到這個代碼塊。當我刪除它時,佈局很好:

<%= button_to destroy_relationship_path(
      params: { 
       following_callsign: @character.callsign, 
       followed_callsign: followedcallsign, 
       viewed_callsign: viewedcallsign 
      } 
     ), 
      class: 'btn btn-default btn-xs post_button', 
      id: 'unfollow-eye', 
      remote: true, 
      method: :delete do %> 
    <span class="glyphicon glyphicon-sunglasses" aria-hidden="true"></span> 
<% end %> 

任何人都可以看到它有什麼問題嗎?我懷疑按鈕代碼沒有任何問題,我認爲這與在窗體中使用按鈕有關。我不知道。我像往常一樣困惑。

+1

你可以添加'_character'部分代碼嗎?那裏的東西正在結束form_for。也許是因爲有不平衡的標籤或什麼的。 – Swards

回答