Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails: "This error occurred while loading the following files: bcrypt"

Comment on the downvoting: This question has erroneously been marked as duplicate. It is clear from the gemfile which I have attached that I am using a more recent version of bcrypt. This and other differences (I am using Ubuntu 12.04 whereas the other thread mentions Windows) makes the solution of that other thread inapplicable to my case. I am still having the issue and would welcome any advice.

=end of comment

I'm working through the famous Rails tutorial but got stuck at Listing 7.5 - I think I followed all instructions but instead of getting UserPage1 I'm getting bcryptError. The actual error stack is:

app/models/user.rb:6:in `<class:User>'
app/models/user.rb:1:in `<top (required)>'
app/controllers/users_controller.rb:4:in `show'
This error occurred while loading the following files:
bcrypt
Request
Parameters:
{"id"=>"1"}

Here is my Gemfile:

source 'https://rubygems.org'
ruby '2.1.1'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.4'
gem 'bootstrap-sass', '2.3.2.0'
gem 'sprockets', '2.11.0'
gem 'bcrypt-ruby', '3.1.2'

group :development, :test do
gem 'sqlite3', '1.3.8'
gem 'rspec-rails', '2.13.1'
gem 'guard-rspec', '2.5.0'
gem 'spork-rails', '4.0.0'
gem 'guard-spork', '1.5.0'
gem 'childprocess', '0.3.6'
end

group :test do
gem 'selenium-webdriver', '2.35.1'
gem 'capybara', '2.1.0'
end

gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
gem 'sdoc', '0.3.20', require: false
end

Here is the User.rb:

class User < ActiveRecord::Base
before_save {self.email = email.downcase}
validates :name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false }
has_secure_password
validates :password, length: { minimum: 6 }
end

Here is the routes.rb:

SampleApp::Application.routes.draw do

resources :users # replaces: get "users/new"
root  'static_pages#home'
match '/signup',  to: 'users#new',            via: 'get'
match '/help',    to: 'static_pages#help',    via: 'get'
match '/about',   to: 'static_pages#about',   via: 'get'
match '/contact', to: 'static_pages#contact', via: 'get'

end

And here is the user_controller.rb:

class UsersController < ApplicationController

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

Can you tell where is the problem?

like image 357
Nick Avatar asked Dec 12 '22 06:12

Nick


1 Answers

Curiuosly, restarting the WEBrick server eliminated the problem. This was done after a system re-boot preceded by a partial upgrade of the system (Ubuntu 12.04) as response to an unrelated issue (the Heartbleed bug) so I don't really know whether it was just the WEBrick restart which eliminated the problem.

like image 165
Nick Avatar answered Jan 05 '23 00:01

Nick