【问题标题】:undefined method `devise_for' in railsrails中未定义的方法`devise_for'
【发布时间】:2011-06-16 04:56:47
【问题描述】:

在我安装设计并创建用户模型之后。我rake db:migrate 然后我rake routes。然后我收到“未定义方法 `devise_for' for #”的错误。什么可能导致此错误?

【问题讨论】:

  • 您是否已将设计添加到您的 Gemfile 中?你能检查一下你的 Gemfile.lock 中是否也有devise 吗?
  • 我的 gem 文件说 gem 'devise', :git => 'git://github.com/plataformatec/devise.git'

标签: ruby-on-rails methods devise undefined


【解决方案1】:

你可能需要bundle install

【讨论】:

    【解决方案2】:

    请记住在安装和配置设备后重新启动您的 Rails 服务器。

    【讨论】:

    • 如有疑问,请重启服务器。
    • routes.rb中也注释掉devise_for :installs
    • 我希望 Rails 服务器可以监视文件并自动重新加载。浪费,是的,但在开发过程中会很方便!
    【解决方案3】:

    老实说,我建议您关注这两个 Railscast(Episode 209Episode 210)。第一个是安装 Devise 的简单且非常容易的演练,第二个是关于自定义它以适合您的应用程序。

    这两集我都看过,它们对我的设计帮助很大,尤其是在自定义方面。

    最好的选择是从头开始 - 你会学到很多东西,并且完全安装好 Devise 并正常运行。

    希望这会有所帮助!祝你好运。

    【讨论】:

      【解决方案4】:

      如果您在 Gemfile 中指定了 Devise gem,只需确保您的 routes.rb 文件中包含以下内容:

       devise_for :users
      

      此外,还有一个技巧可以确保正确映射 Devise,在应用的文件夹中运行:rails c,(Rails 应用控制台),然后运行以下命令行:

       Devise.mappings.keys
      

      你应该看到:

      => [:user] 
      

      干杯!

      【讨论】:

      • 您好弗洛林,感谢您的回答。我的路由文件中有“devise_for:users”行,但是当我运行 Devise.mappings.keys 时出现错误。我应该如何解决这个问题?
      • 您好 - 请注意指定错误,除非您已经找到解决方案?!
      猜你喜欢
      • 2011-06-16
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-04
      • 2013-02-05
      相关资源
      最近更新 更多