Ruby on rails `方法u缺失';:未定义的方法`设计模块';

Ruby on rails `方法u缺失';:未定义的方法`设计模块';,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我正在尝试将RoR应用程序中的模型分离到一个gem中。当我从gem扩展用户模型以添加 我试过不同的方法 User.class_eval和ModelsGem::User.class_eval 单表继承,如:class超类

我正在尝试将RoR应用程序中的模型分离到一个gem中。当我从gem扩展
用户
模型以添加

我试过不同的方法

  • User.class_eval和ModelsGem::User.class_eval
  • 单表继承,如:
    class超类
  • 重写模型类,如
    类用户

  • 他们中没有一个人和迪安一起工作。。但是,我可以从应用程序中的gem访问用户模型的方法,除designe外,其他一切都正常工作。

    您可以这样做

    rails g devise:views
    rails g devise user
    
    如果我们想添加诸如名字和姓氏之类的内容,请将其放在rake db:migrate之前的db中

     t.string :first_name
     t.string :last_name
    
    然后
    rakedb:migrate

    在用户模型中

    class User < ActiveRecord::Base
      # Include default devise modules. Others available are:
      # :confirmable, :lockable, :timeoutable and :omniauthable, :confirmable
    
      devise :database_authenticatable, :registerable,
             :recoverable, :rememberable, :trackable, :validatable, :confirmable
    end
    
    class用户

    我希望我确实解决了你的问题

    找到了真正的问题。。在初始化designe之前,我正在加载包含用户模型的gem。。这让我犯了个错误。。在Desive初始化后,将gem加载到一个初始值设定项中,它就工作了!谢谢你的方法!