Я отлично следовал инструкциям для драгоценного камня - https://github.com/jaustinhughey/vanities - и все остальное работало нормально.
Но когда я пытался загрузить свою главную страницу, я получаю эту ошибку:
NameError in HomeController#index
undefined local variable or method `has_vanity' for #<Class:0x000001015691e8>
app/models/user.rb:2:in `<class:User>'
app/models/user.rb:1:in `<top (required)>'
app/controllers/home_controller.rb:3:in `index'
Вот мои User.rb
class User < ActiveRecord::Base
has_vanity
has_many :feedbacks_as_poster, :foreign_key => :poster_id, :class_name => 'Feedback'
has_many :feedbacks_as_receiver, :foreign_key => :receiver_id, :class_name => 'Feedback'
end
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# email :string(255)
# f_name :string(255)
# l_name :string(255)
# username :string(255)
# role_id :integer
# picture :string(255)
# about_me :string(255)
# website :string(255)
# created_at :datetime
# updated_at :datetime
#
А вот мои Home Controller
class HomeController < ApplicationController
def index
@users = User.all
@feedback = Feedback.new
end
end
Мысли?
Редактировать 1: Посмотреть моиGemfile
ниже:
source 'http://rubygems.org'
gem 'rails', '3.1.0'
gem 'execjs'
gem 'therubyracer'
gem 'vanities'
group :assets do
gem 'sass-rails', " ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
end
gem 'jquery-rails'
group :development do
gem 'sqlite3'
gem 'annotate', :git => 'git://github.com/ctran/annotate_models.git'
end
group :test do
gem 'turn', :require => false
end
group :production do
gem 'pg', :require => 'pg'
end
Редактировать 2: Если я перехожу к профилю URL-адреса созданного мной пользователя, например, localhost:3000/test
, я вижу следующую ошибку, которая заставляет меня поверить, что эта частьgem работает, потому что он на самом деле выбирает правильную запись.Но что-то еще сломано.
Started GET "/test" for 127.0.0.1 at 2011-09-07 20:00:19 -0500
Processing by VanitiesController#show as HTML
Parameters: {"vname"=>"test"}
Vanity Load (0.2ms) SELECT "vanities".* FROM "vanities" WHERE "vanities"."name" = 'test' LIMIT 1
Completed 500 Internal Server Error in 100ms
NameError (undefined local variable or method `has_vanity' for #<Class:0x0000010313d478>):
app/models/user.rb:2:in `<class:User>'
app/models/user.rb:1:in `<top (required)>'
app/controllers/vanities_controller.rb:8:in `show'