【问题标题】:Troubleshooting user sessions in Rails Blog AppRails 博客应用程序中的用户会话故障排除
【发布时间】:2019-05-17 08:54:02
【问题描述】:

我制作博客页面只是为了好玩,但我在用户会话方面遇到了一些问题。

这是怎么回事,我创建了一个新用户(User1),一切正常。但是当我创建一个额外的用户(User2)时,每次我创建一篇文章或点击另一个用户显示页面时,它都会将所有内容重定向到第一个用户(User1)。现在假设我退出 User2 会话,然后以 User2 身份重新登录,它还会重定向到 User1 配置文件而不是 User2。到底是怎么回事?不知道我错过了什么。

这里是 github 存储库 github.com/tonymoreno86/alpha-blog.git 的链接

仍然是 Rails 的新手,所以请随时告诉我我需要显示哪些文件。

【问题讨论】:

    标签: ruby-on-rails ruby session ruby-on-rails-5


    【解决方案1】:

    为什么要将创建的每篇新文章分配给第一个用户然后保存? @article.user = User.first

      def create
        @article = Article.new(article_params)
        @article.user = User.first  
    
        if @article.save
          flash[:success] = "Article was successfully created"
          redirect_to article_path(@article)
        else
          render :new
        end
      end
    
    

    【讨论】:

    • @kparek01 这是为了暂时将用户硬编码到文章中,因为尚未创建用户注册。这是导致这种情况发生的原因吗?
    • 所以这是您的问题之一。另一个问题源于您的用户控制器以及您如何尝试找到用户@user = User.find_by(params[:id])。当您在 Rails 控制台中运行此代码并提供 find_by 数字时,您应该会收到错误 ArgumentError (Unsupported argument type: 1 (Integer))。因此,更改所有 find_by 以查找并查看您是否取得了一些进展。
    • 非常感谢!我能够解决所有问题。
    • 很高兴你能够取得进展@Tony,继续加油。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    相关资源
    最近更新 更多