一个人可以参加各种比赛,但他们必须为该比赛输入合作伙伴的名字。此关联存储在一个条目中,该条目包含合作伙伴名称的字段。
class Person < ActiveRecord::Base
has_many :entries
has_many :events, :through => :entries
validates_presence_of :name
end
class Event < ActiveRecord::Base
end
class Entry < ActiveRecord::Base
belongs_to :person
belongs_to :event
validates_presence_of :partner_name
end
问题是:如何创建单个页面表单,允许一个人在多个事件中输入自己并输入其合作伙伴的名字?我试图在person模型中实现一个all_entries
方法,它将为所有可用事件返回一个条目对象数组,以及一个将更新,创建和删除条目对象的all_entries_attributes
方法,但我似乎无法找到一个好的,干净的方法来做到这一点。我知道这是一个相当开放的问题,但这必须是rails社区中其他人以前遇到的模式,所以我希望有一个很好的解决方案。