0
내부 전역 변수를 변경하는 방법 내가 이것을 변경하려면 (devise.rb에 정의) :고안
@@reset_password_keys = [:email]
에이 결국 (required_attributes
로)를 사용
@@reset_password_keys = [:email, :role]
authenticatable.rb
에 정의 된 아래의 방법으로 사용자를 조회 할 수 있습니다.
재설정 암호 양식에서 email
및 role
속성을 보내려면이 방법을 사용하고 싶습니다.
사용법 : 당신은 당신의 config/initializers/devise.rb
파일을 변경해야합니다
def find_or_initialize_with_errors(required_attributes, attributes, error=:invalid) #:nodoc:
attributes = if attributes.respond_to? :permit!
attributes.slice(*required_attributes).permit!.to_h.with_indifferent_access
else
attributes.with_indifferent_access.slice(*required_attributes)
end
attributes.delete_if { |key, value| value.blank? }
if attributes.size == required_attributes.size
record = find_first_by_auth_conditions(attributes)
end
unless record
record = new
required_attributes.each do |key|
value = attributes[key]
record.send("#{key}=", value)
record.errors.add(key, value.present? ? error : :blank)
end
end
record
end