我有一个包含两个 collection_select 字段的表单,第一个很简单,它只是获取一个名为 course 的模型,它显示课程名称,当然返回所选课程的 id,第二个是我遇到问题的那个其中,它是一个课程可能拥有的类似课程的集合选择。
课程模式:
class Course < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
attr_accessible :code, :credits, :name, :description, :active
has_many :similars, dependent: :destroy
has_many :similar_courses, through: :similars, source: :similar
end
类似型号:
class Similar < ActiveRecord::Base
attr_accessible :course_id, :similar_id
belongs_to :course
belongs_to :similar, class_name: "Course"
validates :similar_id, presence: true
validates :course_id, presence: true
end
这是同源模型,这个模型的问题是,如果一个人想要转移课程和类似的东西,必须批准或拒绝一门课程:
class Homologation < ActiveRecord::Base
attr_accessible :homologate_by, :homologate_course, :student_id
belongs_to :user
end
这是我遇到问题的形式:
<%= form_for(@homologation) do |f| %>
<%= render 'shared/error_messages', object: @homologation %>
<%= f.label :homologate_course %>
<%= f.collection_select :homologate_course, Course.find(:all), :id, :name, :prompt => "Select a Course" %>
<%= f.label :homologate_by %>
<%= f.collection_select :homologate_by, Similar.find(:all), :similar_id, :name, :prompt => "Select a Similar Course" %>
<div class="form-actions">
<%= f.submit "Create Homologation", class: "btn btn-large btn-primary" %>
</div>
<% end %>
</div>
我收到以下错误
http://dpaste.com/hold/827744/
Bartolleti 的东西是我希望能够显示的课程的名称,这当然不是一种方法,但我不知道为什么会出现错误,我希望能够显示给定的类似课程的名称第一个收藏领域的课程...
谢谢您的帮助!