Ruby on rails 用户控制器的If语句显示操作

Ruby on rails 用户控制器的If语句显示操作,ruby-on-rails,Ruby On Rails,如果试图以未注册用户的身份查看我的应用程序,我会收到用户控制器show action@letsgo=current_user.letsgos.build的nil:nilsclass的错误未定义方法“letsgos” 如何将if语句添加到该语句中,以便未注册的用户可以查看显示页面 def show @user = User.find(params[:id]) @question = Question.where('recipient_id = ? and answer is

如果试图以未注册用户的身份查看我的应用程序,我会收到用户控制器show action@letsgo=current_user.letsgos.build的nil:nilsclass的错误未定义方法“letsgos”

如何将if语句添加到该语句中,以便未注册的用户可以查看显示页面

def show
    @user = User.find(params[:id])    
    @question = Question.where('recipient_id = ? and answer is not null', params[:id]).page(params[:page]).per_page(3)
    @letsgo = current_user.letsgos.build    
    respond_to do |format|
      format.html { render layout: 'new_application' }
      format.js { render partial: 'questions/questions', locals: {questions: @question} }
    end
  end

@letsgo=current_user.letsgos.build(如果用户已登录)?或@letsgo=current_user.letsgos.build(除非current_user.blank)?我只是喜欢直接检查可能会抛出错误的物体。谢谢你们的提示。两种设置都很好,但我更喜欢@JTG设置的外观。但是@JTG设置更糟糕。。。更好地使用Desive提供的助手。@MichalSzyndel为什么更糟糕?