【问题标题】:How to add a slug to username for Devise?如何在 Devise 的用户名中添加 slug?
【发布时间】:2015-04-23 02:56:03
【问题描述】:

通常,我会像这样创建 slug:

params[:user][:name_slug] = params[:user][:name].parameterize

但是 Devise 的这个问题很严重 - 我该如何添加它? 我创建了一个控制器,在其中指定了创建用户所需的属性,但是如何在其中添加 slug?

class RegistrationsController < Devise::RegistrationsController

  private
    def sign_up_params
      params.require(:user).permit(:name, :name_slug, :email, :password, :password_confirmation)
    end

  protected
    def update_resource(resource, params)
      resource.update_without_password(params)
    end
end

提前谢谢你。

【问题讨论】:

    标签: ruby-on-rails ruby devise slug


    【解决方案1】:

    你可以在你的 User 模型中做到这一点:

    before_validation :generate_slug
    
    # ...
    
    private
    def generate_slug
      self.name_slug = name.to_s.parameterize
    end
    

    【讨论】:

    • 谢谢,不知道这个选项! (顺便说一句,应该是before_validation :generate_slug
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 2013-08-23
    • 2020-03-25
    • 2018-10-18
    相关资源
    最近更新 更多