我确信我遗漏了一些简单的东西,但我正在生成一个项目列表,每个项目都有一个表单来为该特定项目添加一个新的试镜。表单未正确生成。
视图:
<% @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:页面重新加载已停止,因此...甚至不知道现在该说什么。
发布于 2016-05-24 06:54:18
当你执行form_for(项目,@试听)时,它会为
projects:project_id\auditions:audition_id
因此,您在所有形式中看到的id可能属于@audition变量。你在哪里初始化它?
理想情况下,它应该在每个项目的基础上进行初始化,对吗?如果这有任何帮助,请让我知道。
https://stackoverflow.com/questions/37401642
复制相似问题