rails中未定义的方法`devise_for'
Posted
技术标签:
【中文标题】rails中未定义的方法`devise_for\'【英文标题】: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'
【参考方案1】:
你可能需要bundle install
【讨论】:
【参考方案2】:请记住在安装和配置设备后重新启动您的 Rails 服务器。
【讨论】:
如有疑问,请重启服务器。 在routes.rb
中也注释掉devise_for :installs
我希望 Rails 服务器可以监视文件并自动重新加载。浪费,是的,但在开发过程中会很方便!【参考方案3】:
老实说,我建议您关注这两个 Railscast(Episode 209 和 Episode 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 时出现错误。我应该如何解决这个问题? 您好 - 请注意指定错误,除非您已经找到解决方案?!以上是关于rails中未定义的方法`devise_for'的主要内容,如果未能解决你的问题,请参考以下文章
Rails 3.2:activemerchant 中未定义的方法“class_inheritable_accessor”