2016-05-23 44 views
0

我確定我缺少一些簡單的東西,但是我生成了一個項目列表,每個項目都有一個表單,以便爲該特定項目添加一個新的試聽。表單沒有正確生成。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:停在一個頁面重載的工作,所以......甚至不知道現在該說些什麼。

+0

@audition在控制器中設置了什麼? –

+0

Audition.new - 是否應該在循環中分配? – Slick23

+0

我還試圖將它傳遞給部分作爲本地'試聽:@ audition' – Slick23

回答

0

,當你做的form_for([項目,@audition]),它生成

項目形式:PROJECT_ID \試演:audition_id

所以ID您在所有形式的看到可能屬於@audition變量。你在哪裏初始化它?

應當在每個項目的基礎上,正確的理想初始化?讓我知道這是否有幫助。

+0

的路徑是項目/ PROJECT_ID /試聽 - 因爲,試鏡是新的,沒有ID,但(我開始用'[項目,試聽]'但嘗試不同的事情剛剛通過實例變量直接到我的最後一次迭代的form_for幫手。 – Slick23

+0

我可以看看生成的HTML表單標籤?謝謝 –

+0

'' – Slick23