我确定我错过了一些简单的内容,但我生成了一个项目列表,每个项目都有一个表单,可以为该特定项目添加新的试听。表格没有正确生成。
观点:
<% @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岁。问题不在于部分,而是在我和#39之间。 ;在form_for
中进行操作,因为+ Audition for <%= project.title %>
位于部分内部,会生成正确的标题。
更新: 我重新启动了服务器,form_for现在正在使用正确的ID生成正确的路径。
我在form_for循环中也有这一行,但它仍然是错误的。
<h3 class="section-head">New Audition for <%= project.title %></h3>
它为整个循环中的最后一个项目生成标题。
更新2:停止处理页面重新加载,所以...甚至不确定现在要说什么。
答案 0 :(得分:0)
当你执行form_for([project,@ audition])时,它会为
生成一个表单项目:PROJECT_ID \试镜:audition_id
因此,您在所有表单中看到的ID可能属于@audition变量。你在哪里初始化它?
理想情况下应该按项目进行初始化,对吗?如果这有任何帮助,请告诉我。