我正在研究Rails教程,我不知道是什么
@comment.article_id = params[:article_id]
正在代码中执行:
def create
@comment = Comment.new(comment_params)
@comment.article_id = params[:arcticle_id]
@comment.save
redirect_to article_path(@comment.article)
end
此外,params[:article_id]
是否转移到左侧的实例变量中?
答案 0 :(得分:1)
您需要了解Rails " Active Record Associations"
class Article < ApplicationRecord
has_many :comments, dependent: :destroy
end
class Comments < ApplicationRecord
belongs_to :article
end
当您在两个表之间创建has_many
和belongs_to
关系时,您需要在评论表中存储article.id
,然后与该特定文章相关的评论。
在您的代码中:
def create
@comment = Comment.new(comment_params)
@comment.article_id = params[:arcticle_id]
@comment.save
redirect_to article_path(@comment.article)
end
您正在为文章创建评论,以便
时@ comment.article_id = params [:arcticle_id]
它会将article.id存储在此评论中,以便此评论与该特定文章相关。
答案 1 :(得分:0)
因为您正在使用关系数据库&#39; artical_id&#39;用于在注释和它所属的文章之间创建关系。
所以代码:
@comment.artical_id = params[:artical_id]
用于对评论文章ID进行评论,以便稍后再将其引用。
希望这个帮助