Vas*_*rth 70 views ruby-on-rails devise
我正在使用设计用户身份验证,但我有很好的模型用于注册,登录等页面.我已经完成了rails generate devise:views User命令并拥有了views文件夹中的所有视图,但是,当我用自己的new.html.erb替换registration/new.html.erb时,没有任何变化也没有看起来不同.就好像我做了什么.
任何人都知道我做错了什么或者至少知道如何成功定制设计视图
PS重要的是要注意我改变了设计路线/注册#new to/signup?
oco*_*odo 119
一目了然的答案.
rails generate devise:views User
Run Code Online (Sandbox Code Playgroud)
rails generate devise:views
Run Code Online (Sandbox Code Playgroud)
如果您已经完成了,请将创建的文件夹设置移动app/views/User到新文件夹app/views/devise(或者只是将User文件夹重命名为devise,如果这是一个选项.)
这些文件夹是:
app/views/User/confirmations
app/views/User/mailer
app/views/User/passwords
app/views/User/registrations
app/views/User/sessions
app/views/User/shared
app/views/User/unlocks
Run Code Online (Sandbox Code Playgroud)
不需要进行其他更改.
Daz*_*win 105
虽然这是一个古老的问题,我想我会添加它,万一有人偶然发现它.我不确定这是一个新的添加,因为最初问的问题,但如果是这样,更简单(更现代)的方法是这样.
在文件中config/initializers/devise.rb有以下代码块:
# ==> Scopes configuration
# Turn scoped views on. Before rendering "sessions/new", it will first check for
# "users/sessions/new". It's turned off by default because it's slower if you
# are using only default views.
# config.scoped_views = false
Run Code Online (Sandbox Code Playgroud)
通过取消注释config.scoped_views = false并更改其值true,设计将自动检查自定义视图是否存在,如果存在,则将其提供.正如它所说它确实增加了应用程序的一些开销,但根据我的经验到目前为止,这是最小的.
Kev*_*soi 31
您的路线signup或devise/registrations#new将呈现视图
views/devise/registrations/new.html.erb.这听起来像你做了更改views/user/registrations/new.html.erb,这可以解释为什么你没有看到自从没有渲染以来所做的更改.
您将需要创建一个user/registrations_controller.rb从Devise::RegistrationsController您的/signup
路径延伸并指向您的路线user/registrations#new,或者您可以直接进行更改views/devise/registrations/new.html.erb
同样的想法适用于您的login(devise/sessions)页面.
希望这可以帮助.
Mar*_*s W 25
对于仍然有这个问题的人来说,问题出在于调用rails generate devise:views User.它应该是rails generate devise:views从Devise Rails Engine获取当前视图.这将生成适用于默认路由的正确视图.
Saq*_* R. 19
生成自定义视图后,例如
rails generate devise:views User
Run Code Online (Sandbox Code Playgroud)
开启scoped_views中config/initializer/devise.rb
view config.scoped_views = true
Run Code Online (Sandbox Code Playgroud)
你完成了.
gue*_*o64 11
我有同样的问题,直到我回去阅读设计文档:)
之后rails generate devise:views确保你进入initializers/devise.rb和设置config.scoped_views = true.这可以在https://github.com/plataformatec/devise的设计文档以及devise.rb注释中解释.
在我这样做之后,我自己的观点views/users开始出现而不是宝石中的观点.
小智 10
使用rails g devise:views User允许您自定义何时有多个角色.
正确的方法是进入你devise.rb的config/initializer/文件夹
并取消注释和设置config.scoped_views = true.
现在您可以毫无问题地编辑视图erb文件
| 归档时间: |
|
| 查看次数: |
67616 次 |
| 最近记录: |