안녕하세요, 사용자 이름 규칙에 대해 알려 주실 수 있을까요? & 기호와 아포스트로프(작은 따옴표)가 허용되는지 확인하고 싶은데, 여기에서 도움이 될 만한 정보를 찾지 못했습니다. 감사합니다.
pfaffman
(Jay Pfaffman)
8월 10, 2020, 4:24오후
2
환영합니다, @abi_at_work !
질문에 대해 경험적으로 답하는 쉬운 방법은 try.discourse.com에 가서 어떤 사용자명을 만들 수 있는지 확인하는 것입니다!
정확히 알고 싶다면 코드를 살펴볼 수 있습니다:
# frozen_string_literal: true
class UsernameValidator
# Public: Perform the validation of a field in a given object
# it adds the errors (if any) to the object that we're giving as parameter
#
# object - Object in which we're performing the validation
# field_name - name of the field that we're validating
#
# Example: UsernameValidator.perform_validation(user, 'name')
def self.perform_validation(object, field_name, opts = {})
validator = UsernameValidator.new(object.public_send(field_name), object:, **opts)
unless validator.valid_format?
validator.errors.each { |e| object.errors.add(field_name.to_sym, e) }
end
end
def self.clashing_with_existing_route?(username)
normalized_username = User.normalize_username(username)
http_verbs = %w[GET POST PUT DELETE PATCH]
This file has been truncated. show original
simon
8월 10, 2020, 5:12오후
3
아니요, 사용자 이름에 & 또는 '를 사용할 수 없습니다. 사용자가 이러한 문자 중 하나가 포함된 사용자 이름으로 Discourse 사이트에 가입을 시도하면 다음과 같은 메시지가 표시됩니다( must only include numbers, letters, dashes, dots, and underscores):
@pfaffman 감사합니다. 설정 가능한지 아닌지 확신이 서지 않았는데, 설정이 불가능한 것 같네요. 그래서 찾지 못했던 것 같습니다. 답변 주셔서 감사합니다.
설정 화면의 ‘사용자 이름 유니코드 문자 허용’ 옵션으로 설정할 수 있을 것 같았습니다.