【发布时间】:2015-12-11 05:46:09
【问题描述】:
迄今为止的答案都没有奏效,因此我重新编写了我的帮助请求。我希望更清楚我在挣扎什么
我想将表(Table1)返回的数组(Array1)中的字段移动到另一个数组(Array2)中,允许编辑并将每条记录写入Table2。
控制器中 /new_multiple 中所需的方法:
1. @tasks = Task.find(params[:task_ids]) # 返回多条记录
#:task_ids 是复选框标签
#从之前的表单返回
注意:这有效。
2. 将每个@tasks 移动到@event 并发送到现有的new.html.erb 表单以在创建之前进行编辑和/或确认,如下所示(??):
@tasks.each do |task|
@event = Event.new
@event.location = task.task_location
@event.description = task.task_description
event.start_date = start_date + task.days_from_from_start_task
..... more calculated fields
***send to form for edit, show, create and return for next record (QUESTION 1 below)
end
注意:*** 中的重定向和返回会转到表单,但数据不会显示在表单中。我还没有确定它是否真的返回。
问题: 1.有没有办法从控制器中的迭代中间调用一个表单,然后返回循环以获取其他记录? 2. 如果没有,我该怎么做(可以吗?) a) 将多个@tasks 记录移动到上面的@events 数组中(用于在表格中显示以进行编辑) b) 告诉系统数组的每一行都是要在提交时写入的新记录
背景:
我正在创建一个允许安排未来事件集的应用程序。相关任务(集)保存在一个表中,并指定从组中第一个任务开始的顺序和天数,以使该任务发生。
用户通过设置条件来启动流程 - 任务组和事件开始的开始日期。
然后使用 form_tag 将任务记录与计算的日期/时间一起显示在表单上的表格中。此时,它们看起来就像要创建的事件。每行都有一个复选框标签,用于选择组中的任务。在用户“勾选”了他们选择的事件(或全部)后,应用程序返回到控制器的一个名为 new_multiple_events 的方法
到目前为止,一切正常,我可以看到使用调试器在事件控制器中选择(勾选)的选定记录。
我现在想单独显示每条记录,并允许用户编辑事件发生的计算日期和时间以及一些其他字段,例如位置和注释等,然后提交记录以在事件中创建桌子。但这是我不明白的地方。 楷模: 任务表模型:
task.task_description
task.task_location
task.task_notes
task.days_from_start_task
task.task_group_name
Event table model:
event.title = task.task_group_name
event.location = task.task_location
event.description = task.task_notes
event.start_date = start_date + task.days_from_from_start_task
etc...
我有一个表单,可以很好地将单个事件输入日历,我想将返回的任务数组(加上计算字段)中的数据移动到事件数组中,作为该表单的默认值,然后允许用户保存数据。
提前感谢您提供的任何帮助。
【问题讨论】:
-
我想你可能会觉得
fields_for很有用
标签: ruby-on-rails ruby activerecord