【发布时间】:2012-02-07 01:17:59
【问题描述】:
好的,我有一个课程、学生和注册表。我允许学生登录,他们的信息存储在会话变量中。他们可以搜索课程,选择他们想要的课程,将 course_id 放入会话变量中。然后在他们将课程放入choice_courses页面后,他们可以单击注册按钮为课程注册。这应该从 session[:course] 中获取 course_id 和从 session[:student_id] 中获取 student_id,并将它们放入一个名为 registrations 的表中。 course_id 是一个集合,我知道我应该遍历每个 course_id 并将其添加到表中,但我做不到。我已经在下面发布了我的控制器,这里是文件THE FILES ARE HERE!!!! 这是带有代码的控制器,该代码将 COURSE_ID 和 STUDENT_ID 从会话中放入数据库中:
def show
@register = Registration.new
while session[:course].course_id != nill do
@register.student_id = session[:student_id].student_id
@register.course_id = session[:course].course_id
end
@register.save
end
这里是显示注册数据库中数据的视图:
<% @register.each do |register| %>
<tr>
<td><%= register.student_id %></td>
<td><%= register.course_id %></td>
</tr>
<% end %>
感谢任何帮助。
【问题讨论】:
-
你在控制器哪里设置
@registers? -
首先,如果它真的是一个集合,你使用 = 而不是添加到集合中。其次,如果要全部显示,则需要循环遍历集合。
-
我希望
nill是粘贴示例中的拼写错误,因为关键字是nil。您对while的使用似乎也被破坏了,应该是if,因为您没有循环:if (session[:course].course_id) ...
标签: ruby-on-rails set session-variables