0

Rails 5が生成されます。Rails 5列挙型のモデル内にNameError:初期化されていない定数

私のUserモデル(deviseモデル)の中に懸念を抱いてしまいました。 include Levelableは他のモデルで問題なく動作します。 特別な設定/ヘルパー/イニシャライザを設定する必要がありますか?

Levelableは、モデルのユーザーとクライアント

#models/concerns/levelable.rb 
require 'active_support/concern' 

    module Levelable 
     extend ActiveSupport::Concern 

    included do 
    enum level: { beginner: 0, intermediate: 1, advanced: 2, very_advanced: 3 } 
    end 
end 

によって使用され、モデル(読みやすくするために短縮)

#models/user.rb 
class User < ApplicationRecord 

    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable 

    include Levelable 

    acts_as_messageable 
end 

は、このセットアップ結果が

モデルの懸念:NameError: uninitialized constant User::Levelable 同じエラーがクライアントモデルで発生だから私は何かが私の懸念の負荷で動作していないと思う。 私はすでにconfig/application.rbの中のパスを何も変更せずに自動ロードしようとしました。

私は懸念の負荷をどのようにするかを理解できません。どんな助けも素晴らしいでしょう。ありがとうございました !

答えて

0

私は以前、この問題を抱えていましたが、いくつかの掘り下げの後、私の懸念事項は、(狂った理由で)Capitalizeフォームを使用して名前を付けたファイルでした。

私はSearchable.rbからsearchable.rbに名前を変更しました。 :)

PS。 git/githubを使用している場合、diffは大文字と小文字を区別しないため、Levelable.rbからlevelable.rbに名前を変更すると、git statusには表示されません。

乾杯

+0

明らかにそれでした。ヒントありがとう! – Patient55

関連する問題