【发布时间】:2014-07-29 13:58:24
【问题描述】:
我不知道必须从其他模型中获取关联和值的选择框。
例如我有一个表course_names 来记录课程名称。
我有另一个表,它有另一个表course,它有更多的列course_name_id
class Course < ActiveRecord::Base
belongs_to :course_name
end
现在,我必须创建 student_profile 并与 courses 这样的表关联。
class Student < ActiveRecord::Base
belongs_to :course
...
end
在简单表单的视图中,我必须创建一个选择框来选择课程。
<%= simple_form_for(@student_profile) do |f|%>
<% f.error_notification %>
<div class="form-inputs">
<%= f.association :course %>
但此关联不显示课程名称。
<select class="select optional form-control" id="student_course_id" name="student[course_id]"><option value=""></option>
<option value="3">#<Course:0x00000105c23818></option></select>
但我希望输出为(来自 course_names 的选项的课程名称)
<select class="select optional form-control" id="student_course_id" name="student[course_id]">
<option value=""></option>
<option value="3">course-name</option>
</select>
我如何做到这一点。 一、解决办法是
<%= f.association :course,collection:Course.all.includes(:course_name).map{|a|[a.course_name.name,a.id]} %>
但这似乎不对?我如何告诉协会去从协会获取课程名称。
【问题讨论】:
标签: ruby-on-rails ruby simple-form