我在这里提出这个问题是因为我没有找到解决问题的答案。我想创建一个帖子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
有人知道问题出在哪里,可以解释一下我的解决方案吗? 非常感谢!
答案 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