rails error类必须存在 - 关联

时间:2016-11-27 16:07:42

标签: ruby-on-rails ruby

我在这里提出这个问题是因为我没有找到解决问题的答案。我想创建一个帖子belongs_to旅行,所以每次旅行都有很多帖子。但是当我创建帖子时,我在我的视图中显示以下错误消息:

1错误禁止本文保留 旅行必须存在

所以这是我的travel.rb文件:

class Travel < ApplicationRecord
  has_many :posts
  belongs_to :user
end

我的post.rb文件:

class Post < ActiveRecord::Base
  belongs_to :user
  belongs_to :travel

  geocoded_by :country
  after_validation :geocode
end

有人知道问题出在哪里,可以解释一下我的解决方案吗? 非常感谢!

1 个答案:

答案 0 :(得分:7)

Rails 5默认需要belongs_to关联。因此,如果不将其与Post

相关联,则无法创建Travel
@post = Post.new(post_params)
@post.travel = travel
@post.save

如果您想使关联成为可选关系,则必须明确提及

class Post < ActiveRecord::Base
   belongs_to :travel, optional: true
end