我的设计有问题。 每次我尝试调用应由devise处理的Url(例如http:// localhost:3000 / users / sign_up )时,都会出现以下错误:

No route matches {:controller=>"devise/static", :action=>"about"}

希望有人可以帮助我!


的routes.rb

devise_for :users

get "pages/contact"
get "pages/imprint"
get "pages/about"

root :to => "pages#about"

我做了什么:

将gem'devise gem 'devise'添加到gemfile

bundle install 
rails generate devise:install
rails generate devise User
rake db:migrate

耙路

        new_user_session GET    /users/sign_in(.:format)       {:action=>"new", :controller=>"devise/sessions"}
            user_session POST   /users/sign_in(.:format)       {:action=>"create", :controller=>"devise/sessions"}
    destroy_user_session DELETE /users/sign_out(.:format)      {:action=>"destroy", :controller=>"devise/sessions"}
           user_password POST   /users/password(.:format)      {:action=>"create", :controller=>"devise/passwords"}
       new_user_password GET    /users/password/new(.:format)  {:action=>"new", :controller=>"devise/passwords"}
      edit_user_password GET    /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"}
                         PUT    /users/password(.:format)      {:action=>"update", :controller=>"devise/passwords"}
cancel_user_registration GET    /users/cancel(.:format)        {:action=>"cancel", :controller=>"devise/registrations"}
       user_registration POST   /users(.:format)               {:action=>"create", :controller=>"devise/registrations"}
   new_user_registration GET    /users/sign_up(.:format)       {:action=>"new", :controller=>"devise/registrations"}
  edit_user_registration GET    /users/edit(.:format)          {:action=>"edit", :controller=>"devise/registrations"}
                         PUT    /users(.:format)               {:action=>"update", :controller=>"devise/registrations"}
                         DELETE /users(.:format)               {:action=>"destroy", :controller=>"devise/registrations"}
           pages_contact GET    /pages/contact(.:format)       {:controller=>"pages", :action=>"contact"}
           pages_imprint GET    /pages/imprint(.:format)       {:controller=>"pages", :action=>"imprint"}
             pages_about GET    /pages/about(.:format)         {:controller=>"pages", :action=>"about"}
                    root        /                              {:controller=>"pages", :action=>"about"}

Rails版本: Rails 3.1.3


PagesController

class PagesController < ApplicationController
  def contact
  end

  def imprint
  end

  def about
  end

end

===============>>#1 票数:1 已采纳

当我更改link_to方法时,对我来说错误已修复。

在标题中,我有:

<%= link_to "Info", :controller => :info %>

当我切换到:

<%= link_to "Info", "/info" %>

错误消失了!

  ask by Mark translate from so

未解决问题?本站智能推荐:

4回复

Rails 3.1 + Devise:Devise的默认路由不起作用

当我尝试访问“登录”路由(GET / users / sign_in)时出现以下错误... 这是服务器日志中的完整错误... 这是我的应用程序/布局的主体... 我唯一的控制器是“页面”控制器。 另外,这是我的route.rb文件... 我不知道它是否与此有关,
2回复

翻译Rails Devise错误消息

我正在使用devise gem在Ruby On Rails应用程序中实现身份验证。 有时会显示错误消息,例如: 禁止从该用户保存健康信息时出错:密码太短(至少6个字符) 将这些消息翻译成另一种语言的最佳方法是什么?
1回复

Devise RegistrationsController在API中创建动作

我正在尝试使用API​​创建Rails 3应用程序。 我使用Devise作为我的身份验证系统。 我希望能够注册并稍后通过API登录。 而且我不太确定我该怎么做。 我创建了分离的控制器来管理API,即api/v1/account/1/projects.json 。 我目前正在尝试为API
1回复

在我自己的控制器中处理Devise登录

我想重写Devise当前处理登录流程的方式。 我不需要/想要/ users / sign_in,我只想使用我自己的root_path进行登录处理,即登录用户并处理失败的密码输入。 我已经成功创建了登录表单,但是如果用户未能正确输入密码,他/她将被重定向到/ users / sign_in
1回复

设计路线错误

我今天才开始使用devise,并修改了session#new.html.erb文件以适合我的需求。 我创建了一个名为Register的链接 但是,当我单击链接时,它指示我没有路线错误 这是我的耙路 我的路线档案他的追踪 我将重定向到发生错误的页面。 我如
1回复

使用Rails 3.1.0和devise(win7)时,错误的身份验证类型

我尝试为Rails 3应用程序设置邮件程序并进行设计。 该应用程序正在开发中。 该应用程序应发送一封电子邮件,提示“我忘记了密码”。 在config/enviroment/development我添加了: ### 在config/initializers/devise de
1回复

Ruby on Rails:自定义设计注册控制器,请求创建操作

我有一个自定义注册控制器,但我不想覆盖设计的创建操作。 当我尝试注册用户时,出现此错误: 它是否要求它,因为我有一个自定义注册控制器? 如果是这样,这是否意味着我需要复制我不会从这里覆盖的所有操作: https : //github.com/plataformatec/devise/
1回复

如何使用诸如Devise之类的应用程序布局制作引擎?

我想做一个引擎。 我的引擎是否可以安装,这并不重要。 但是我想使用我的主要应用程序布局(例如Devise)来渲染引擎的视图。 这也很容易。 但! 当我的应用程序的布局和Rails引擎的视图模板呈现时,出现异常,因为我在布局中使用了url帮助器,但是该url帮助器在main_app中
1回复

使用devise rails 3.1设置Recaptcha

我在这里遵循了devise wiki ,并且在尝试创建新用户时收到模板错误。 这就是我所做的。 在config / environment.rb中设置我的公钥和私钥 然后,我将gem添加到我的gemfile中,并进行捆绑安装 然后,我通过运行rails g control
1回复

Rails Devise SSL会话在生产中混合使用

我已经使用Capistrano,nginx / Passenger和通配符SSL证书将应用程序部署到了Ubuntu VPS。 该应用程序在Heroku上的开发环境和我的暂存环境中均可正常运行。 但是,当用户使用安全页面登录站点时,生产中存在两个问题。 在最新的Chrome和