本文介绍了用户控制器中的 Rails 错误 NoMethodError#show 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

未定义的方法'key?'对于 nil:NilClass

这是我在阅读 M. Hartl 的 Rails 教程时遇到的错误.此外,在保存我的 user_controller.rb 文件并刷新 http://localhost:3000/users/1 后,我收到另一个错误:

This is the error I am getting while going through M. Hartl's Rails Tutorial. Also, after saving my user_controller.rb file and refreshing http://localhost:3000/users/1, I get another error that is:

Gem::LoadError in UsersController#show

bcrypt-ruby is not part of the bundle. Add it to Gemfile.

bcrypt-ruby 但是在我的 gemfile 中,在我再次刷新后,这个错误消失了.它只是有点奇怪.

bcrypt-ruby is in my gemfile however, and after I refresh again this error is gone. Its just a bit weird.

这是我的 user_controller.rb

Here is my user_controller.rb

class UsersController < ApplicationController

  def show
    @user = User.find(params[:id])
  end

  def new
  end
end

这是我的 show.html.erb

and here is my show.html.erb

<%= @user.name %>, <%= @user.email %> 

非常感谢大家.

推荐答案

遇到了同样的问题:(先尝试第 3 步)

Had the same problem: (try step 3 first)

  1. rails 命令行> gem install bcrypt-ruby
  2. rails 命令行> 捆绑安装(不确定是否需要)
  3. 重新启动 Rails 服务器(您可以先尝试这个 - 这可能是唯一需要的步骤)

这篇关于用户控制器中的 Rails 错误 NoMethodError#show 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-12 22:31