如何通过Rails控制台将用户附加到帖子上?我忘记了正确的方法。假设您创建了一篇文章,并希望将其附加到您创建的user_id上,那么如何通过Rails控制台进行操作呢?
Rails控制台
@post = Post.create(content: "nice day we are having")
@user = User.find(2)
如何通过Rails控制台将用户附加到帖子上?我忘记了正确的方法。假设您创建了一篇文章,并希望将其附加到您创建的user_id上,那么如何通过Rails控制台进行操作呢?
Rails控制台
@post = Post.create(content: "nice day we are having")
@user = User.find(2)
不需要逐个创建 post,可以通过 @user 创建:
@user = User.find(2)
@user.posts.create(content: "nice day we are having")
它将自动为帖子记录分配用户ID。
User
和Post
之间有has_many
关联,例如`user has_many posts',则您可以在控制台上将它们附加为:@user.posts << @post
everyevery = Post.all #Assign all posts to a variable
everyevery.each do |post|
if post.user_id = nil
post.user_id = 1 # Assigns user_id of 1. If there are 5 then you could do say rand(1..5)
post.save
end
end
belongs_to
和has_many
关系。p = Post.new
p.title = "post title"
p.body = "post body"
u = User.find(2)
p.user_id = u.id
p.save
u = User.find(2)
p = u.posts.build("title"=> "post title", "body" => "post body")
p.save
在控制台中运行命令之前,需要先定义关系。
首先,检查您是否在用户和帖子之间建立了关联,然后在控制台中简单地编写:
@post = Post.create(content: "nice day we are having", user: User.find(2))
用户拥有多个帖子(user has_many posts)
? - titanUser.find(2).posts.create(content:'text')
- uzaif