【问题标题】:Devise not rendering correct views设计不呈现正确的视图
【发布时间】:2015-11-12 14:58:10
【问题描述】:

Devise 正在渲染位于 devise gem 中的 sign_in 页面,而不是在我的 app/views 路径中。

它从这里渲染视图: /Users/c/.rvm/gems/ruby-2.2.1/gems/devise-3.5.2/app/views/devise/shared/_links.html.erb

routes.rb

devise_for :users

如何让它在app/views/users下渲染

注意:我已经使用rails g devise:views users 生成了设计视图

这在app/views/users 中生成了一个文件,内容是您的典型设计文件夹sessions, mailer, confirmations, links, etc..

【问题讨论】:

  • 2 年后,我也遇到了同样的问题 :)
  • 这就是 stackoverflow 的美妙之处
  • 现在去投票吧!!!大声笑

标签: ruby-on-rails ruby devise


【解决方案1】:

如果您正在生成这样的视图rails generate devise:views usersrails generate devise:views admins你需要设置

config.scoped_views = true 在设计初始化程序中

【讨论】:

    【解决方案2】:

    您需要覆盖设计使用的视图

    运行

    rails generate devise:views
    

    之后,您应该可以在 views/devise 文件夹中修改 devise 使用的内容

    查看文档here 了解更多信息

    【讨论】:

    • 如果您在应用中修改 app/views/devise/shared/_links.html.erb,是否有任何更改反映在浏览器中?有时重启服务器也有帮助。
    • 相信我,我已经重新启动了我的服务器。不,当我编辑这些设计视图时,它们不会反映更改。
    • 我想我需要更多信息,您是否在设计文件夹中限定了您的视图?当你运行生成时,你做了rails generate devise:views users。然后路径将是 app/views/devise/users/shared。然后在您的 config/initializers/devise.rb 中,您必须将 scoped_views 切换为 true。也许与其让我猜你的设置,你可以用所有有助于发现问题的小细节再次更新你的问题,比如可能包括你为获得当前位置而采取的所有步骤。
    • 完美,谢谢。现在我想知道你是否在 config/initializers/devise.rb 中添加了config.scoped_views = true
    猜你喜欢
    • 2015-10-04
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多