首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环中的Form_for

循环中的Form_for
EN

Stack Overflow用户
提问于 2016-05-24 06:35:38
回答 1查看 199关注 0票数 0

我确信我遗漏了一些简单的东西,但我正在生成一个项目列表,每个项目都有一个表单来为该特定项目添加一个新的试镜。表单未正确生成。

视图:

代码语言:javascript
运行
复制
<% @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 %>

这是部分中的代码:

代码语言:javascript
运行
复制
<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:页面重新加载已停止,因此...甚至不知道现在该说什么。

EN

回答 1

Stack Overflow用户

发布于 2016-05-24 06:54:18

当你执行form_for(项目,@试听)时,它会为

projects:project_id\auditions:audition_id

因此,您在所有形式中看到的id可能属于@audition变量。你在哪里初始化它?

理想情况下,它应该在每个项目的基础上进行初始化,对吗?如果这有任何帮助,请让我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37401642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档