我正在编写一个应用程序,其中我有两个模型,用户和帖子,到目前为止,我的应用程序运行正常,而不使用has_many和belongs_to。当我添加这两个语句时,它会有什么不同?我希望看到实际的差异而不仅仅是理论。
由于
答案 0 :(得分:1)
实际的改进是你可以在控制器中使用关联,而不必担心如何实现这种关系。
例如,目前如果您想要查看属于用户this_user
的所有帖子,您必须这样做...
@posts = Post.where(user_id: this_user.id)
定义了has_many和belongs_to关系后,您可以执行...
@posts = this_user.posts
这不仅仅是微不足道的...如果将来你改变你的应用程序让“用户有很多对话,对话有很多帖子”你最终可能会指定“用户has_many帖子,通过:对话”
你的......
@posts = this_user.posts
仍然有效,无需知道该关系如何连接的细节已经改变