我的观点:
.background_video[data-no-transition-cache]
= video_tag @background.footage.url, loop: :loop, autoplay: :autoplay, muted: true, class: 'videos'
.container
.row
.col-md-6.col-md-offset-3
h2.text-center Sign up
= form_for(resource, url: '/users') do |f|
= devise_error_messages!
.form-group
= f.label :email
br
= f.email_field :email, autofocus: true, :class => 'form-control'
.form-group
= f.label :password
= f.password_field :password, autocomplete: 'off', :class => 'form-control'
.form-group
= f.label :password_confirmation
br
= f.password_field :password_confirmation, autocomplete: 'off', :class => 'form-control'
.actions
= f.submit 'Sign up', :class => 'btn btn-primary'
我想在此视图中添加背景视频。但我不知道设计的控制者在哪里。
如何为Devise找到或创建控制器?
答案 0 :(得分:2)
您可以在控制器文件夹中覆盖设计控制器并命名为registrations_controller.rb
,如下所示
class RegistrationsController < Devise::RegistrationsController
# GET /resource/sign_up
def new
#=> for @background video write code here
super
end
# POST /resource
def create
super
end
end
路线看起来像
devise_for :users, :controllers => {:registrations => 'registrations'}
如果你需要自动设计控制器,那么link
rails generate devise:controllers users
如果运行此命令,则设计控制器将生成/app/controllers/users/
路径
答案 1 :(得分:1)
您必须生成控制器并覆盖或附加到其继承的方法。例如,如果你想附加到新方法
def new
@background # use your stuff here
super # inherit and use devise's method content
end
如何生成设计控制器: https://github.com/plataformatec/devise/wiki/tool:-generate-and-customize-controllers
Devise的注册控制器源代码: https://github.com/plataformatec/devise/blob/master/app/controllers/devise/registrations_controller.rb
答案 2 :(得分:0)
您可以运行任务
rails(rake for older rails version) generate devise:controllers [scope]
范围是控制器的名称
devise docs配置控制器部分
的更多信息