通常,我会创建这样的slu ::
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
提前谢谢。
答案 0 :(得分:4)
您可以在User
模型中执行此操作:
before_validation :generate_slug
# ...
private
def generate_slug
self.name_slug = name.to_s.parameterize
end