首先让我说我来自oldschool php框架和过时的做法,我正在努力解除它们。 当PHP我发现情况N-N时,我只是创建了一个新表,并且与这个新表有1-N的关系。例如:
tbl_users
tbl_posts
关系:
tbl_users N-N tbl_posts
所以我刚刚在新表中创建并建立了1-N关系(常见的has_many)。例如:
tbl_users 1-N tbl_like_posts
tbl_posts 1-N tbl_like_posts
我不知道是否有相同的东西,我没有使用,因为我从未收费。但实际情况是,我已经看过has_many:通过并且没有把它放到我的头脑中。为什么我不能做我以前做过的事情?什么:通过特别的?它会让我感到轻松吗?我甚至理解如何使用,但不明白为什么要使用。
对不起,如果问题有点愚蠢,但我试图放弃PHP上瘾并正确学习轨道。
答案 0 :(得分:2)
您有两种选择:
1)让Rails使用has_and_belongs_to_many
关联解决它(在引擎盖下,Rails将创建一个新表来进行多对多关联,但是你不需要处理它直接);
2)通过has_many :through
您可以在此处查看文档:{{3}}
另一个有用的链接应该是这个RailsCast:http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association