如何获得Rails关联以使用特定名称访问其他名称的模型?

队长堆栈

假设我有一个用户模型和一个电影模型以及用于存储它们的表。假设我想通过添加第三个表watchwatch_movies来添加监视列表功能,该表将user_id映射到movie_id。

我现在想添加一个watchlist_movie模型。我希望能够使用user.watchlist_movies查询ActiveRecord并获取电影对象的集合。到目前为止,我已经尝试过(在user.rb中)

has_many :watchlist_movies 

has_many :movies, through: watchlist_movies

第一个结果返回user.watchlist_movies的记录,第二个结果返回user.movi​​es的电影记录的集合。本质上,我想要的是让user.watchlist_movies返回电影记录的集合,因此我希望第一个关系中定义的访问返回第二个关系的内容。我该怎么做呢?

塔德曼

您在这里正确定义了关系,但是您可能会有一种期望与Rails的工作方式不一致的情况。如果您的结构是通过WatchlistMovie与用户相关联的Movie的结构(这是一个简单的连接模型),那么您的方法就正确了。

请记住,您可以随心所欲地打电话给您的人际关系:

has_many :watchlist_movie_associations,
  class_name: 'WatchlistMovie'

has_many :watchlist_movies,
  class_name: 'Movie',
  through: :watchlist_movie_associations

我建议不要这样做,因为这与ActiveRecord如何命名事物的原则背道而驰。如果现在只是让您感到烦恼,那是可以理解的,但是如果您拥抱这种风格而不是与之抗争,那么您将拥有一个更加一致和易于理解的应用程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获得具有特定名称的所有节点

来自分类Dev

如何使用其他名称从模型映射到字段

来自分类Dev

如何在HTML中“访问”特定名称

来自分类Dev

重写特定名称/值的规则以优先于其他名称/值

来自分类Dev

如何在Django中使用其他模型的主键作为模型名称生成模型

来自分类Dev

如何使用“内容”选择列的特定名称?

来自分类Dev

如何使用wget获取具有特定名称的文件?

来自分类Dev

如何使用SimpleInjector获取特定名称空间的实例?

来自分类Dev

是否可以使用其他名称加载requirejs

来自分类Dev

如何使用其他名称调用网页

来自分类Dev

如何使Hibernate忽略特定名称的属性?

来自分类Dev

如何选择特定名称的行?

来自分类Dev

对JavaScript对象进行条件查询以使用JQuery返回特定名称

来自分类Dev

如何首先使用具有特定名称的NSSortdescriptor,然后按名称排序?

来自分类Dev

添加列-指定名称-基于其他的行值

来自分类Dev

如何查找具有给定名称空间的关联文件?

来自分类Dev

如何查找具有给定名称空间的关联文件?

来自分类Dev

如何访问其他对象列表中的lm()对象的名称?

来自分类Dev

如何为所有Kubernetes服务帐户授予对特定名称空间的访问权限?

来自分类Dev

如何应用kubernetes网络策略来限制其他名称空间的名称空间访问?

来自分类Dev

Rails中其他模型的访问属性

来自分类Dev

如何使用FileZilla递归删除具有特定名称的所有文件

来自分类Dev

如何使用jQuery检查是否存在具有特定名称attr的输入

来自分类Dev

使用Scala模式匹配提取具有特定名称的XML元素,而不管其内容如何

来自分类Dev

如何在终端中递归查找具有特定名称的文件并使用ImageMagick加入?

来自分类Dev

如何使用C#代码在XAML UI中找到具有特定名称的控件?

来自分类Dev

如何使用JMESPATH和javascript获取具有特定名称值的最后3个元素?

来自分类Dev

如何使用FileSystemWatcher监视父目录下特定名称的所有文件夹?

来自分类Dev

如何使用Powershell删除具有特定名称的所有文件夹

Related 相关文章

  1. 1

    如何获得具有特定名称的所有节点

  2. 2

    如何使用其他名称从模型映射到字段

  3. 3

    如何在HTML中“访问”特定名称

  4. 4

    重写特定名称/值的规则以优先于其他名称/值

  5. 5

    如何在Django中使用其他模型的主键作为模型名称生成模型

  6. 6

    如何使用“内容”选择列的特定名称?

  7. 7

    如何使用wget获取具有特定名称的文件?

  8. 8

    如何使用SimpleInjector获取特定名称空间的实例?

  9. 9

    是否可以使用其他名称加载requirejs

  10. 10

    如何使用其他名称调用网页

  11. 11

    如何使Hibernate忽略特定名称的属性?

  12. 12

    如何选择特定名称的行?

  13. 13

    对JavaScript对象进行条件查询以使用JQuery返回特定名称

  14. 14

    如何首先使用具有特定名称的NSSortdescriptor,然后按名称排序?

  15. 15

    添加列-指定名称-基于其他的行值

  16. 16

    如何查找具有给定名称空间的关联文件?

  17. 17

    如何查找具有给定名称空间的关联文件?

  18. 18

    如何访问其他对象列表中的lm()对象的名称?

  19. 19

    如何为所有Kubernetes服务帐户授予对特定名称空间的访问权限?

  20. 20

    如何应用kubernetes网络策略来限制其他名称空间的名称空间访问?

  21. 21

    Rails中其他模型的访问属性

  22. 22

    如何使用FileZilla递归删除具有特定名称的所有文件

  23. 23

    如何使用jQuery检查是否存在具有特定名称attr的输入

  24. 24

    使用Scala模式匹配提取具有特定名称的XML元素,而不管其内容如何

  25. 25

    如何在终端中递归查找具有特定名称的文件并使用ImageMagick加入?

  26. 26

    如何使用C#代码在XAML UI中找到具有特定名称的控件?

  27. 27

    如何使用JMESPATH和javascript获取具有特定名称值的最后3个元素?

  28. 28

    如何使用FileSystemWatcher监视父目录下特定名称的所有文件夹?

  29. 29

    如何使用Powershell删除具有特定名称的所有文件夹

热门标签

归档