【问题标题】:How to give two different templates for two models using Ruby on Rails Devise library如何使用 Ruby on Rails 设计库为两个模型提供两个不同的模板
【发布时间】:2015-10-26 20:28:04
【问题描述】:

我对 Ruby on Rails 还很陌生,并且在使用设计库时遇到了问题。我有两个带有设计库的模型,它们需要有不同的注册字段。

当前默认模板位于文件夹中 应用程序/应用程序/视图/设计/注册/。

但我可能希望有类似 app/app/views/devise/registrations/model1/registration_template.rb、app/app/views/devise/registrations/model2/registration_template.rb 之类的东西

现在我不确定这是在哪里处理的。只要我可以为两个模型使用两个不同的模板并将应用程序定向到每个模型的正确模板,它们甚至不必存在于单独的文件夹中。

【问题讨论】:

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


    【解决方案1】:

    来自 Devise 的自述文件:

    如果您的应用程序中有多个设计模型(例如 用户和管理员),您会注意到 Devise 使用相同的视图 所有型号。幸运的是,Devise 提供了一种自定义视图的简单方法。 您需要做的就是在内部设置config.scoped_views = true config/initializers/devise.rb 文件。

    这样做后,您将能够拥有基于角色的视图,例如 users/sessions/newadmins/sessions/new。如果在其中找不到视图 在范围内,Devise 将使用devise/sessions/new 的默认视图。 您还可以使用生成器生成范围视图:

    rails generate devise:views users

    希望对你有帮助

    【讨论】:

    • 谢谢!实际上,我首先提到了它,但它仍然无法正常工作,但是当我再次运行 rails server 时它确实如此。
    猜你喜欢
    • 2011-01-04
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2012-09-20
    • 1970-01-01
    • 2015-12-24
    • 2020-05-19
    相关资源
    最近更新 更多