新手问题 使用 through,多对多,连接表有非 ID 数据,怎么获取?

stephen · 2012年09月05日 · 最后由 taojay315 回复于 2012年09月08日 · 2643 次阅读

多对多,连接表有非 ID 数据,怎么获取?

这两天刚知道的,:primary_key,:foreign_key 不知道你说的是不是这个

非 ID 数据···例如一篇文章可以由多位作者一起写,一个作者可以参与多篇文章,所以用中间表存储作者的 id 和文章的 id 作为关联,现在中间表还要存储多一项数据,就是修改的时间,现在问题就是如何获取这个时间

#2 楼 @stephen 回调可以。写到 controller 里也可以params[:created_at] = Time.now

@metal 保存数据明白,但是保存后,在某一个场景要把中间表的数据输出,应该要怎么做才好,如果按照平常,直接就用两个 MODEL 的 ID 搜索中间表!

顶一下,我也遇到这个问题,求解

@stephen 怎么获取?你不是已经将created_at存起来了么?怎么会不知道怎么获取? 或许我没明白你的难点在哪里

@suupic 解决:你想从哪个 model 获取数据,你就在那个 model 定义一个 def,把另外一个 model 的 id 作为参数传入,搜索

A has_many B C has_many B A has_many C :through B? 是这样的模型么。。。

我也遇到过这样的问题,当时采用的是 7 楼 一样的解决方法。

A.B 可以直接取 B 了啊。。。

如果你要有 A C 想取 B B.find()把 ac 的 id 传进去。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号