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环境