【问题标题】:How should I set these associations up properly?我应该如何正确设置这些关联?
【发布时间】:2021-08-02 13:57:31
【问题描述】:

我正在尝试构建一个博客风格的应用程序。我有 3 个模型 - 用户、项目和帖子。
用户有_many 个项目,用户有_many 个帖子。 项目属于_用户,项目有_许多帖子 帖子belong_to 用户,帖子belong_to 项目

我尝试了多种不同的方式来设置项目,遵循一系列已发布的解决方案,但我一直遇到许多错误。最新最大的错误

目前我在 PostsController#create 中遇到 ActiveRecord::InvalidForeignKey SQLite3::ConstraintException: FOREIGN KEY 约束失败错误。

【问题讨论】:

    标签: ruby-on-rails-6


    【解决方案1】:

    rails generate model Project title:string user:references这个命令会让项目属于一个用户并且用户模型添加has_many项目 同样的事情也适用于帖子

    【讨论】:

      【解决方案2】:

      假设您已经生成了 User 模型和表 然后生成脚手架

      rails g scaffold Post user:references

      rails 将创建一个迁移,将名为 user_id 的列添加到 Post 表并在其上创建索引。 对于两个表。 Rails 还会在 Post 模型中添加 belongs_to :user。

      只要另一个模型属于_第一个模型并且具有与外键列的迁移,您就可以将 has_many 添加到模型中。 对项目模型也应该这样做 因为项目和帖子之间的关联使用相同的用户和帖子概念

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-18
        • 1970-01-01
        相关资源
        最近更新 更多