用于has_many的Rails复选框:通过关联

时间:2012-01-03 07:42:02

标签: ruby-on-rails forms checkbox has-many-through

一个人可以参加各种比赛,但他们必须为该比赛输入合作伙伴的名字。此关联存储在一个条目中,该条目包含合作伙伴名称的字段。

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社区中其他人以前遇到的模式,所以我希望有一个很好的解决方案。

2 个答案:

答案 0 :(得分:2)

如果您仍在寻找答案,可以查看我找到的questionanswer

答案 1 :(得分:0)

因此,您需要一个页面,您可以在其中为用户创建事件,并将人员添加到这些事件

我不会给你一个简单的解决方案,因为有一些实现的工作,但我会建议检查这些关于嵌套模型表格的railscast

part1part2