0

在我的 rails 应用程序中,我有三个表formslanguageslevels.

我的forms表包含有关人们提交的课程的信息。
它有关于提交者个人信息的各种栏目,其中之一是他们的外语知识水平。

我的languages表包含课程表中应该出现的语言,它有、id和列。namecreated_atupdated_at

我的levels表包含语言知识水平,现在它只有 Basic、Medium 和 Advanced,并且有、id和列。namecreated_atupdated_at

我能够使用以下代码关联我的languages表和我的表:levels

#app/models/level.rb
class Level < ActiveRecord::Base
    has_and_belongs_to_many :languages
end

#app/models/language.rb
class Language < ActiveRecord::Base
    has_and_belongs_to_many :levels
end

现在,我的数据库中存在第四个表来关联这两个表,该表除了 the和列languages_levels之外什么都没有。language_idlevel_id

有没有办法使用Formtastic将此languages_levels表与我的forms表相关联,使得对于表中记录的每种语言,表中都会出现languages一组单选按钮输入levels

4

2 回答 2

1

对于您所描述的,使用桥接表(使用language_lavels带有 的表has_and_belongs_to_many)似乎是一种错误的方法。您只需要三向一对多关系。

换句话说,您应该创建一个模型,比如说LanguageLevel,它属于FormLanguageLevelLanguageLevel然后你可以为每个填充Language每个Form.

于 2013-10-09T11:39:20.170 回答
0

检查此截屏视频,他们可能会为您指明正确的方向:

http://railscasts.com/episodes/47-two-many-to-many

http://railscasts.com/episodes/185-formtastic-part-2

于 2013-10-08T15:44:56.277 回答