我很难将帖子与在设计中注册的用户相关联。
我生成了一个帖子脚手架,并在Devise中正确设置了所有内容。 我添加了一个迁移到包含user_id字段的帖子
用户模型has_many :posts
帖子模型belongs_to :user
出于某种原因,我无法将用户与帖子连接起来。我错过了什么吗?
谢谢大家!
我的帖子控制器
def create
@user = User.find(params[:id])
@post = @user.posts.create(params[:post])
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: 'Post was successfully created.' }
format.json { render action: 'show', status: :created, location: @post }
else
format.html { render action: 'new' }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
端
答案 0 :(得分:2)
首先,您需要用户关联帖子:
@user = User.find(params[:id]) # or just use current_user as you are using Devise
只要您拥有has_many
关联,就可以执行以下操作:
@post = @user.posts.build(params[:post]) # to return newly created object without saving it to the database
@post = @user.posts.create(params[:post]) # to create and save record to the database
那就是它。