【问题标题】:How to create new edit forms in Devise?如何在 Devise 中创建新的编辑表单?
【发布时间】:2016-05-09 21:31:50
【问题描述】:

现在设计生成的edit.html.erb,非常适合编辑基本信息。但是,我想生成一个新的编辑页面,类似于 edit.html.erb,但是在那里,用户将能够编辑关于他们自己的其他信息。我不想把所有东西都放在 edit.html.erb 上,因为用户界面。

到目前为止,我只为将要创建的新编辑页面向用户表添加了新列。

现在这些是我的路线:

 devise_for :users, class_name: 'FormUser', :controllers => { omniauth_callbacks: 'omniauth_callbacks', registrations: 'registrations' }


  root 'setup#index'
  get '/setup' => 'setup#index'
  get '/users/sign_out' => 'setup#index' 

这是我的registration_controller.rb:

class RegistrationsController < Devise::RegistrationsController
  def update_resource(resource, params)
    if resource.encrypted_password.blank? # || params[:password].blank?
      resource.email = params[:email] if params[:email]
      if !params[:password].blank? && params[:password] == params[:password_confirmation]
        logger.info "Updating password"
        resource.password = params[:password]
        resource.save
      end
      if resource.valid?
        resource.update_without_password(params)
      end
    else
      resource.update_with_password(params)
    end
  end
end

所以我创建了一个带有视图的新控制器,但我不知道现在在路由中放置什么。 新控制器的名称是 styles_controller.rb 和视图是 fit.html.erb..

【问题讨论】:

  • “连接”现有控制器是什么意思?

标签: ruby-on-rails ruby devise


【解决方案1】:

此脚本将为您生成控制器以覆盖 Devise 的行为(但我强烈建议您不要这样做):

https://github.com/plataformatec/devise/wiki/Tool:-Generate-and-customize-controllers

这将向您展示如何为您生成视图模板以覆盖登录/等的默认屏幕。

https://github.com/plataformatec/devise#configuring-views

本教程展示了如何允许用户在没有密码的情况下编辑他们的个人资料:

https://github.com/plataformatec/devise/wiki/How-To%3a-Allow-users-to-edit-their-account-without-providing-a-password

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2013-07-10
    • 1970-01-01
    • 2013-05-05
    • 2019-06-13
    • 2012-06-02
    • 1970-01-01
    相关资源
    最近更新 更多