Ruby on Rails 登录

Posted

技术标签:

【中文标题】Ruby on Rails 登录【英文标题】:Ruby on Rails login 【发布时间】:2012-01-16 22:02:15 【问题描述】:

对于一个大学项目,我必须在 Netbeans 中创建一个小的 ruby​​ on rails 应用程序,它允许大学的工作人员维护他们的缺勤记录。

书籍中提供的示例登录是关于单个用户表的。我的应用程序将需要 3 种类型的用户员工(分配给经理)、经理和管理员(创建/编辑/删除所有员工)。因此,登录将不得不调出一个特定的用户主页,这让我很困惑。

目前,我的表结构在 manager 和 staff 表中都有 user_id 字段,它与 users 表的 ID 具有“has_one”关系,用户表的 ID 仅包含字段 user_id、user_name 密码和 user_type。

我无法获得任何适用于登录的示例代码以使用此多用户应用程序,关于类似的可用教程的任何见解或想法?

干杯。

附:如果需要任何其他进一步的信息,我有完整的规格。

【问题讨论】:

您到底尝试了什么?似乎使用一些通用逻辑根据您的用户表进行身份验证应该没问题。之后,在身份验证逻辑结束时(例如,如果您在 new action 中有 SessionsController),您可以根据发生的情况进行重定向。 【参考方案1】:

我无法从您的问题中判断您是否已经进行了身份验证。

但是,我使用 devise 和 cancan gem 设置了类似的系统。

使用 devise,您只需在 config/routes.rb 中指定根路径,您的用户将在登录时被重定向到那里。例如,您可以有这样的路线:

namespace :user do
   match 'dashboard' => 'dashboard#index', :as => :root
end 

然后,在dashboard#index 中,您可以提供特定于配置文件的操作。此外,管理用户角色的一个好方法是将角色列放在用户表上并使用 cancan gem。 看看这个关于 http://railscasts.com/episodes/192-authorization-with-cancan 主题的 railscast ... 这样您就可以分配某人担任管理员角色,并使用 cancan 的简单 DSL 他们可以创建/编辑/删除所有员工。

【讨论】:

以上是关于Ruby on Rails 登录的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on rails 协会 - 用户(设计)在注册和登录后可以“创建团队”或“加入团队”

Ruby on Rails全栈课程5.2 项目上线--在云服务器上配置Ruby On Rails环境

Ruby on Rails全栈课程3.8 权限管理之超级管理员审批功能实现

ruby on rails 路线

Ruby-on-Rails:如何摆脱“你被重定向”页面

如何在 ruby​​ on rails 中发布数据