设计自定义路由和登录页面

2024-01-03

我正在尝试让自定义路由在我的 Rails 应用程序中工作(Ruby 1.9.2 和 Rails 3)。

这是我的 config/routes.rb 文件

match '/dashboard' => 'home#dashboard', :as => 'user_root'
devise_for :user do
   get "/login", :to => "devise/sessions#new" # Add a custom sign in route for user sign in
   get "/logout", :to => "devise/sessions#destroy" # Add a custom sing out route for user sign out
   get "/register", :to => "devise/registrations#new" # Add a Custom Route for Registrations
end

但是在 /login 或 /register 上提交表单会转到 users/sign_in 和用户/注册。我该如何防止这种情况发生。或者更好地确保默认情况下所有对 users/sign_in 等的请求都转到相关路由,而不是 Devise 生成的默认路由。

另外,如何使登录表单成为部分内容以将其包含在任何控制器中?这样我就可以在主页(home#index)上显示登录页面,而不是在 users/sign_in 上?

我在 Mac OSX Snow Leopard 上的 Ruby 1.9.2 上使用 Devise 1.1.3 和 Rails 3。

Thanks!


对于 Devise 1.1.3,以下内容应该可以工作

devise_for :user, :path => '', :path_names => { :sign_in => "login", :sign_out => "logout", :sign_up => "register" }

它创建的路由不会附加“/user/...”,因为:path参数为空字符串。这:pathnameshash 会按照你的喜好命名路由。 Devise 将在内部使用这些路由,因此提交到 /login 将按照您的意愿工作,而不是将您带到 /user/log_in

要将登录表单添加到您的首页,Devise Wiki 上有信息:http://github.com/plataformatec/devise/wiki/How-To:-Display-a-custom-sign_in-form-anywhere-in-your-app http://github.com/plataformatec/devise/wiki/How-To:-Display-a-custom-sign_in-form-anywhere-in-your-app

或者做这样的事情:

 <%= form_tag new_user_session_path do %>
  <%= text_field_tag 'user[email]' %>
  <%= password_field_tag 'user[password]' %>
 <%=  submit_tag 'Login' %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设计自定义路由和登录页面 的相关文章

随机推荐

  • 如何显示带有 opengl 纹理的灰度图像

    我正在尝试创建一个要显示的纹理 我有 wxh 数组 其中每个像素是 1 个字节 我看过我可以通过 OpenGL glTexImage2D 函数使用灰度图像吗 https stackoverflow com questions 680125
  • 使用 TCP 流并将其重定向到另一个接收器(使用 Akka Streams)

    我尝试使用 Akka 2 4 3 将 TCP 流重定向 转发到另一个接收器 该程序应该打开一个服务器套接字 侦听传入连接 然后使用 tcp 流 我们的发件人不期望 接受我们的回复 因此我们从不发回任何内容 我们只是消耗流 在对 tcp 流进
  • 如何在 Selenium 中使用 EXTJS 生成的 ext-gen ID?

    在测试自动化 Web 应用程序时 我获得了动态生成的 ext gen ID 我尝试使用 xpath 但测试用例失败 我浏览了不同的网站 但没有找到任何运气 有人可以帮助我吗 谢谢你 斯里尼瓦萨马拉地语 对于自动化测试 最好完全避免使用 Ex
  • 无法将 Rhino Mocks 3.5 添加到 Visual Studio 2010 中的 .NET 2.0 项目

    我们正在从 Dev Studio 2005 升级到 Dev Studio 2010 我在 Visual Studio 2010 中打开了 2005 解决方案 并完成了转换过程 使所有项目都以 NET 2 0 为目标 当我尝试构建项目时 我对
  • 模型、视图和控制器是如何连接的?

    我了解模型 视图和控制器在应用程序中扮演的不同角色 但它们如何相互链接 例如 一个简单的比较是 当将 JavaScript 文件与 HTML 文件链接时 需要一个带有 src 引用的标签 自从学习 Rails 以来 我一直被告知它们是相互关
  • 在 .NET 中使用 OpenSSL 加密和解密文件

    我在 C 项目中使用 OpenSSL Crypto 库来加密 解密文件 这是我的代码 byte key System Text Encoding ASCII GetBytes password byte iv System Text Enc
  • C++:在构造函数中调用成员函数?

    以下代码引发运行时错误 include
  • 如何根据column1中的值自动添加不同颜色的图标/图像到DataGridView的行标题

    如何根据column1中的值自动添加不同颜色的图标 图像到DataGridView的行标题 是否可以根据 COLUMN1 中的值随机选取所有颜色 而无需手动设置颜色 并且还可以取 COLUMN1 和 COLUMN2 之间的组合值 Thank
  • 从右键菜单中以管理员身份打开特定目录的 PowerShell

    我需要一个命令来在给定路径上打开一个新的提升的 PowerShell 窗口 为什么 我想要一个在给定目录上以管理员身份打开 Powershell 的快捷方式 就像按住 Shift 并右键单击任何目录会给你一样 但以管理员身份打开 I use
  • 锁定/解锁 Windows Station 时运行命令/脚本?

    我工作时使用的是 Windows 7 专业版 我的问题是我总是忘记打卡上班 签退 使用内联网时间表系统 有没有办法运行脚本或命令来在每次锁定 解锁站点时自动打开时间表页面 是的 Windows 7 任务计划程序允许使用一系列令人眼花缭乱的新
  • 延迟加载的模块与主块捆绑在一起

    我有一个使用 Angular 6 框架的客户项目 项目中有几个模块 其中 16 个应该是延迟加载的 例如 loadChildren 但是当我运行构建进行生产时 其中只有 9 个模块有自己的块 其他 7 个模块与主块 即 main js 合并
  • WPF 数据模板和绑定

    我继续我对 MVVC 的理解MSDN代码 http msdn microsoft com en us magazine dd419663 aspx我有一个问题 在 xaml 中 它们有一个显示在屏幕上的命令列表
  • Google Sheets QUERY 函数:按名称选择列

    我有一个 Google 表格 其命名范围超出了 A Z 列 名称范围有标题行 我想使用QUERY函数通过标题标签选择列 我的公式是这样的 QUERY NamedRange SELECT AZ AX BM where BB student O
  • 添加 MessageDialog 消息的链接

    我正在做Eclipse插件开发 我正在使用该类MessageDialog API可以找到here http help eclipse org juno index jsp topic 2Forg eclipse platform doc i
  • yeoman 构建指南针引导程序 scss 图像路径始终以“../”为前缀

    问题在于引导程序 sass 图标精灵路径都是在图像之前添加前缀 images images glyphicons halflings white png 我希望像这样 images images glyphicons halflings w
  • 在查找上转换 MongoDB 数据

    是否可以转换 MongoDB 中查找查询返回的数据 举个例子 我有一个first and last用于存储用户名字和姓氏的字段 在某些查询中 我希望仅返回名字和姓氏首字母 例如 Joe Smith 返回为 Joe S 在 MySQL 中SU
  • 绕过路由处理中的身份验证

    我已经设置了一个带有注册主页和一些需要登录的内部页面的应用程序 我使用 Node 和 Express js 来设置服务器并控制路由和身份验证工作正常 如果我尝试访问 localhost port clientPage 如果我之前登录过 我会
  • Julia:从数组或矩阵中删除行和列

    如何从数组中删除一行或多列 合作 julia gt array 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 4 Array Int64 2 1 2 3 4 5 6 7 8 9 10 11 12 13 1
  • 基于百分比的布局间隙

    我在基于百分比的布局方面遇到问题 这是我的代码http jsfiddle net uHkXH http jsfiddle net uHkXH 如果您在 Mac 上使用 Safari 或 Opera 或者在 Windows 上使用 IE7 或
  • 设计自定义路由和登录页面

    我正在尝试让自定义路由在我的 Rails 应用程序中工作 Ruby 1 9 2 和 Rails 3 这是我的 config routes rb 文件 match dashboard gt home dashboard as gt user