我確定我缺少一些簡單的東西,但是我生成了一個項目列表,每個項目都有一個表單,以便爲該特定項目添加一個新的試聽。表單沒有正確生成。Form_for在循環中
的視圖:
<% @projects.group_by(&:aasm_state).each do |state, projects| %>
<div class="project-column small-order-<%= state_priority(state) %>">
<div class="project-state spaced-out-2 project-<%= state %>"><%= state.titleize %></div>
<% for project in projects %>
<%= render partial: 'auditions/partials/dash_project_audition_form', locals: {project: project} %>
<% end %>
<% end %>
這是在部分的代碼:
<button data-click="new-project-audition">+ Audition for <%= project.title %></button>
<%= form_for([project, @audition]) do |f| %>
... SNIP....
<% end %>
一切正常除了形式。生成的每個表格都包含@projects
中最後一條記錄的ID。因此,例如最後一個項目是ID 19,無論我點擊哪個項目表單,它們都是19。問題不在於部分,而在於我在form_for
中做的事情,因爲+ Audition for <%= project.title %>
,它在部分內部,生成正確的標題。
更新: 我重新啓動服務器的form_for現在產生正確的道路,用正確的ID。
我這行也的form_for循環中,它仍然是錯誤的。 <h3 class="section-head">New Audition for <%= project.title %></h3>
它在整個循環中生成最後一個項目的標題。
更新2:停在一個頁面重載的工作,所以......甚至不知道現在該說些什麼。
@audition在控制器中設置了什麼? –
Audition.new - 是否應該在循環中分配? – Slick23
我還試圖將它傳遞給部分作爲本地'試聽:@ audition' – Slick23