1

你能帮我解决这个问题吗?

我正在为不同的用户创建一个管理应用程序:

“用户”他们被定义在应用程序中,即管理人员,不会改变,“学生”他们被定义在一个未来 6 个月会增长的表中(现在我这个表中可能有 10 个学生,下个月可能100) 用户和学生之间的属性不同

我应该创建一个带有后端和前端的应用程序

前端可以由用户和学生使用后端只能由用户使用,如果他们有“admin”标志

我会为后端使用 ActiveAdmin 但对于前端我迷路了......

似乎 cancan 和 devise 可以解决这个问题,但是:

  • 我应该创建一个用户模型和一个学生模型,还是有更好的方法?
  • 如何管理来自两个不同表(用户和学生)的相同前端视图(也许我应该创建两个不同的视图)上的连接?
  • 学生应该会自动收到一个“student_role”,怎么做?

所有的想法将不胜感激,非常感谢阅读我!

尼古拉斯

4

1 回答 1

0

can can + devise 是解决此类问题的好方法,

我也建议只为用户提供一个模型和一个定义它是学生还是用户的用户类型属性,如果你只需要向特定用户展示它们,你可以创建一个用户控制器和一个学生控制器,你可以使用 cancan 像这样授权:

class Ability
  include CanCan::Ability
  def initialize(user)
    if user.usertype=1
      can :read, Student
    elsif user.usertype=2
      can read, User
    end    
  end
end 

您的学生角色可以是 usertype = 1 或其他

如果您需要更多帮助,请询问我。

于 2013-08-08T15:19:53.517 回答