私はherokuで奇妙な問題を抱えています.これは私が得るエラーです:
Rails 3.2.8、Ruby 1.9.3、アクティブな管理者、わかりやすい ID を使用しています。
/app/app/models/user.rb:2:in `<class:User>': uninitialized constant User::FriendlyId (NameError)
同じくpostgresを使用している私のローカル環境では、すべて正常に動作します...
ここに私のユーザーモデルがあります
class User < ActiveRecord::Base
extend FriendlyId
after_initialize :set_username
before_create :set_as_student
friendly_id :username, use: :slugged
ROLES = %w[admin coordinator student]
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
# attr_accessible :title, :body
attr_accessible :email, :password, :password_confirmation, :remember_me,
:name, :code, :phone, :roles
def roles=(roles)
self.roles_mask = (roles & ROLES).map { |r| 2**ROLES.index(r) }.inject(0, :+)
end
def roles
ROLES.reject do |r|
((roles_mask || 0) & 2**ROLES.index(r)).zero?
end
end
def role?(role)
roles.include? role.to_s
end
def self.search(query)
where do
((name =~ "%#{query}%") | (code =~ "%#{query}%"))
end
end
def should_generate_new_friendly_id?
new_record?
end
private
def set_username
self.username = self.email.split('@')[0]
end
def set_as_student
self.roles=(['student'])
end
end
Friendly_id を使用して何かを行う必要があると思いますが、何が問題なのかわかりません。助けていただければ幸いです。
皆さん、ありがとうございました。