【发布时间】:2015-01-04 23:10:14
【问题描述】:
我有三个控制器:Users、Courses 和 SavedCourse 以及相应的模型:User、Course 和 SavedCourse
数据“流”为:
- 课程由赞助商添加到课程表中;每门课程都有 14 个字段。
- 学生通过提交表格来申请课程 4 个字段 - 上课日期、课程 ID、赞助商姓名和他/她的 ID。 输入表单位于 Views / Users 文件夹中,并指向 课程表:form_for(@course)。请求被保存并添加到 Courses 控制器的课程表。
- 不完整的记录与完成的课程相匹配,“匹配”被解析为 每个字段的信息。这发生在 Courses 控制器中。
- 信息以 Views / Users 文件夹中的页面以进行确认并“保存”为 记录在 saved_courses 表中。
在点“3”和“4”之间发生了故障。我怀疑我的操作在错误的控制器中和/或我错误地标记了我的字段。我会很感激对此有另一种看法。这是代码:
在课程控制器中
获取部分记录信息 - 学生提交的信息
Def new
new_record = Course.where ... Some fields are null
row = new_record.first
active_date = row.class_date
active_course = row.course_id
active_sponsor = row.sponsor_name
在 class_date、course_id 和赞助商名称上匹配
abc = Course.where .... This works (using foregoing variables as inputs)
获取用于确认表单的值
仍在 Courses 控制器和新方法中
@saved_course = SavedCourse.new
@saved_course.class_date = abc.class_date ... etc. for the remaining fields
... etc. for the remaining fields
到目前为止,一切都在 Rails 控制台中运行。
我尝试将“Def new”代码放在 SavedCourses 控制器中,但它不起作用
这些值应传递给 Views / Users 文件夹中页面的一部分(确认表单):
<%= form_for(@saved_course) do |f| %>
<div>
<li style="list-style-type: none; float: left;">
<%= f.label :class_date %><br/>
<%= f.text_area :class_date, :value => @saved_course.class_date, autofocus: true %>
</li>
</div>
... 后跟更多字段
不幸的是,表单呈现空白/空字段,而不是带有@saved_course 信息的字段。顺便说一句,我在有和没有自动对焦的情况下都试过了。我想启用学生的编辑功能,因此我将字段保留为具有自动对焦功能的文本区域。
服务器、console.log 或 rails 控制台没有报告错误。
提前感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails ruby forms