【发布时间】:2012-02-01 07:31:51
【问题描述】:
一个人可以参加各种赛事,但他们必须为该赛事输入合作伙伴的姓名。此关联存储在一个条目中,其中包含一个合作伙伴姓名字段。
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 社区中其他人遇到过的模式,所以我希望有一个好的解决方案。
【问题讨论】:
标签: ruby-on-rails forms checkbox has-many-through