无法覆盖默认设计gem视图

use*_*254 9 gem views ruby-on-rails devise ruby-on-rails-3

我想使用我的设计生成视图(带命令rails g devise:views users)app/views/users.

我已经设置了以下选项app/initializers/devise.rb:

config.scoped_views = true
config.default_scope = :user
Run Code Online (Sandbox Code Playgroud)

但它仍然使用默认的设计视图 /usr/lib/ruby/gems/1.8/gems/devise-2.0.4/app/views/devise/

所以我该怎么做?谢谢.

dpc*_*ady 9

我遇到了同样的问题,我花了很长时间才弄明白.设置config.scoped_views = true是第一步,但还有另一个步骤不太明确.

如果仔细查看由rails g devise:views users您生成的一些视图,您会看到模板包含<%= render "devise/shared/links" %>在文件的底部.由于您已生成这些视图,因此共享链接现在位于users/shared/links.由于设计不再具有任何内容devise/shared/links,因此它使用默认链接视图.

<%= render "devise/shared/links" %><%= render "users/shared/links" %>你就定了!


Tom*_*m L 3

对于自定义登录视图,当您使用默认User设备资源时,我认为您需要的只是创建app/views/devise/sessions/new.html.erb. 并且,暂时让我们忘记 CRUD 接口。并撤消这些config/initializers/devise.rb设置。看看你能否让它发挥作用。