我有问题。我无法弄清楚如何用设计解决这个身份验证问题,我不知道我是否应该在模型或STI中使用多态关联。
我有2个模型,如老师和学生。而我正在尝试建立多态关联。
这是我的模特:
Teacher model:
class Teacher < ActionController::Base
has_one :user, :as => :profileable
devise :database_authenticatable, :registerable
end
Student model:
class Student < ActionController::Base
has_one :user, :as => :profileable
devise :database_authenticatable, :registerable
end
User model:
class User < ActionController::Base
belongs_to :profileable, :polymorphic => true
attr_accessible :email, :password, :password_confirmation, :remember_me
end
我的routes.rb
School::Application.routes.draw do
devise_for :users
devise_for :teachers
devise_for :students
我为教师和学生创建了视图文件。 但我无法弄清楚如何拥有1个用户表和不同的视图和sign_up页面。
我想要2个注册页面。一个给老师,一个给学生。我希望User表存储登录信息(电子邮件,密码......)。
如何使用设计创建这样的东西?
致以最诚挚的问候,
Rails初学者
答案 0 :(得分:2)
我会选择STI并使用存储用户优先权等的配置文件模型。至于每个模型的不同视图,请查看范围视图部分。