我有这两个型号:
class Person < ActiveRecord::Base
attr_accessible :contact, :name
validates :name, :presence => true
has_many :books
end
class Register < ActiveRecord::Base
attr_accessible :checkin, :checkout, :notes, :person, :book
end
在registers / _form.html.erb中我想使用f.collection_select,我可以从列表中选择一个Person的名字。 Register模型的目的是记录结账历史。
这是我第一次尝试使用collection_select而我无法用我在stackoverflow和google上阅读的示例包围它。也许我没有模型中所需要的一切?
请帮忙。
答案 0 :(得分:0)
关于关联,模型中存在错误。正确的关联应该是:
class Person < ActiveRecord::Base
has_many :registers, :inverse_of => :person
end
class Register < ActiveRecord::Base
belongs_to :person, :inverse_of => :registers
end
然后在你的registers/_form.html.erb
中,您必须拥有以下内容:
<%= form_for :register do |f| %>
<% # ... input elements for the rest of the Register model %>
<%= f.collection_select :person_id, Person.all, :id, :name %>
<% # ... input elements for the rest of the Register model %>
<%= f.submit %>
<% end %>