使用设计用于多个模型

时间:2016-05-10 18:11:39

标签: ruby-on-rails devise

问题可能不那么复杂,但我很困惑。我有两个用户,即学生和教师,对于那些我想要单独的模型,控制器和视图。我希望教师使用fetchColumnFamily和学生/t/sign_up。我正在使用设计进行身份验证,我知道这是可能的,因为管理员的工作原理是什么。

1 个答案:

答案 0 :(得分:10)

如果您已经使用设计生成了多个模型和视图,并且只想更改路径名,则可以执行配置config / routes.rb:

devise_for :students, path: 's'
devise_for :teachers, path: 't'

将取代您的路线:

http://localhost:3000/s/sign_up
http://localhost:3000/t/sign_up

如果您想根据不同的模型获得视图,可以在config.scoped_views = true文件中配置config/initializers/devise.rb并生成该模型的视图:

rails g devise:views students

如果要自定义每个控制器,可以生成如下控制器文件:

rails generate devise:controllers students

这将根据型号名称创建控制器,因此您可以在路线中定义它们:

devise_for :students, path: 's', controllers: { sessions: "students/sessions" }