2014-09-23 73 views
2

我正在试图查找如何获得评论的ID,相关模型Post。Rails Magic Method model_ids?

发表评论的has_many

我通过Rails documentation,你可以使用.MAP方法来挖出只是ID中找到。

不过,对于它的赫克,我试图做:

p = Post.find(1) 
p.comment_ids #[1,2,3] 

和它的工作!我无法在Rails文档中的任何地方找到这种神奇的方法。这是获得has_many关系ID的官方支持方式吗?

回答

1

如果你看看has-many-association的doco,你会找到详细的文档。

collection_singular_ids

...这些方法,收集被替换为HAS_MANY第一个参数传递的符号,并collection_singular被替换为单一化版本的象征。

按照该singularize方法 -

comments.singularize # => comment 

在你的情况collection_singular已被替换comment。这就是你如何得到comment_ids方法。

希望它清楚给你。

2

has_many Association Reference

在声明的has_many协会,声明类自动获得16种相关的关联方法:

其中有:

collection_singular_ids 
collection_singular_ids=ids