Rails和Devise:无法使用管理员和用户视图

时间:2016-05-24 15:28:01

标签: ruby-on-rails ruby-on-rails-4 devise

我为我的应用程序生成了两个模型:Admin和User,我还为每个模型生成了视图:

rails generate devise user

rails generate devise admin

rails g devise:views admin

rails g devise:views user

并添加了devise.rb文件中的下一行:

config.scoped_views = true

我想使用不同的页面进行用户登录和管理员登录,而是调用默认的设计登录页面。

感谢。

1 个答案:

答案 0 :(得分:1)

您只需要创建devise user并且可以覆盖一次视图。

之后,您必须创建一个不同的模型Role,以确定该用户是admineditormoderator还是anything其他。

如果您不想要另一个型号,那么您可以在导轨中使用多个宝石。

  • Rollify gem
  • Cancan gem

在上面的场景中,它会使设计变得复杂。

<强>编辑:

完成上述方案

您需要使用devise_group

您需要创建另一个模型everyone

rails g devise Everyone

现在您需要在Application Controller

中定义它
devise_group :everyone, contains: [:user, :admin]

这可能会有所帮助!!!