查看即使是新用户评论也会显示修改评论

时间:2016-01-17 16:34:16

标签: ruby-on-rails ruby

我是ruby on rails的新手,基本上我希望一个用户有一个评论,如果用户有评论,用户被重定向到编辑页面,如果一个用户添加了评论但是我有这个工作如果我以另一个用户身份登录,我会向拥有评论的用户显示一个编辑页面。

这是我在review_controller中使用的代码。

def new

    if logged_in?
      #@review = Review.new

      @review = Review.find_by(session[:user_id])

      @review = Review.find_by(product_id: params[:id])


      if @review.blank?

      @review = Review.new(product_id: params[:id], 
                                user_id: User.find(session[:user_id]).id)
      session[:return_to] = nil
    else 
      render action: 'edit'
    end 
    else
      session[:return_to] = request.url
      redirect_to login_path, alert: "You need to login to write a review"
    end
end

1 个答案:

答案 0 :(得分:0)

首先,我猜

@review = Review.find_by(session[:user_id])

应该是

@review = Review.find_by(user_id: session[:user_id])

其次,你对@review的第二个定义会覆盖第一个。因此,如果您访问其他用户审核过的产品页面,则审核不会为空白。