Комментарий к отрицательному голосованию: этот вопрос ошибочно помечен как дубликат. Из приложенного файла gem ясно, что я использую более новую версию bcrypt. Это и другие отличия (я использую Ubuntu 12.04, тогда как в другом потоке упоминается Windows) делают решение этого другого потока неприменимым к моему случаю. У меня все еще есть проблема, и я буду рад любым советам.
= конец комментария
Я работаю над знаменитым руководством по Rails, но застрял на листинге 7.5 - Я думаю, что выполнил все инструкции, но вместо я получаю
. Фактический стек ошибок:
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"}
Вот мой Gemfile:
source 'https://rubygems.org'
ruby '2.1.1'
#ruby-gemset=railstutorial_railsSampleApp::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
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
Вот 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
Вот route.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
А вот и user_controller.rb:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
end
end
Можете ли вы сказать, где проблема?