【发布时间】:2018-05-23 23:12:21
【问题描述】:
获取错误信息
用户必须存在
每当我尝试创建新帖子时。
我首先安装了friendly_id gem,然后我安装了设计gem并创建了一个设计用户模型。之后,我生成了设计视图。从那里我为 Post 创建了一个带有标题描述主体和 slug 的脚手架
我在帖子模型中创建了一个belongs_to :user,在用户模型中创建了一个has_many :posts。然后我生成了一个生成这个的迁移。
class AddUserReferenceToPosts < ActiveRecord::Migration[5.1]
def change
add_reference :posts, :user, foreign_key: true
add_foreign_key :posts, :users
end
end
我知道我可以进入post模型并将其更改为
belongs_to :user, optional: true
为了克服错误消息,但我进入终端并使用
创建了一个用户u = User.create(email: "dave@gmail.com", password: "password")
成功登录,但我仍然收到错误消息。需要一些关于我做错了什么的帮助。
【问题讨论】:
-
请您提供您的帖子控制器和您的 routes.rb 文件的内容
-
我认为您所缺少的是您的每个帖子都需要一个用户。因此,在您的答案中发布帖子控制器代码。我认为您在创建帖子对象时没有定义用户。
标签: ruby-on-rails ruby activerecord devise ruby-on-rails-5.1