我想在rails g devise:views users
中使用我的设计生成视图(使用命令app/views/users
)。
我已经从app/initializers/devise.rb
设置了这些选项:
config.scoped_views = true
config.default_scope = :user
但它仍使用/usr/lib/ruby/gems/1.8/gems/devise-2.0.4/app/views/devise/
那我该怎么办? 感谢。
答案 0 :(得分: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" %>
,然后设置好了!
答案 1 :(得分:2)
对于自定义登录视图,当您使用默认的User
设计资源时,我认为您只需创建app/views/devise/sessions/new.html.erb
即可。而且,就目前而言,让我们忘记CRUD界面。并撤消这些config/initializers/devise.rb
设置。看看你能不能正常工作。