Add a custom per-user setting in a plugin

여기서 테스트를 진행 중입니다

빌드는 정상적으로 수행됩니다. 해당 플러그인을 사용해 본 적이 없고 무엇을 테스트해야 할지 모르기 때문에 기능에 대해서는 확신할 수 없습니다.

register_editable_user_custom_field 메서드 시그니처는 필드 이름과 staff_only로 표시하기 위한 선택 플래그입니다. 따라서 제가 볼 때 배열을 전달하는 것은 예상 밖의 동작이 아닌가 싶습니다?

3개의 좋아요

그래, 좀 이상하긴 하지?

하지만 대니엘의 해결책이 문제를 해결하는 것 같다.

이 코드:

  register_editable_user_custom_field :geo_location if defined? register_editable_user_custom_field
  register_editable_user_custom_field geo_location: {} if defined? register_editable_user_custom_field

은 오류가 발생한다. 반면 이 코드는 괜찮다:

 register_editable_user_custom_field [:geo_location,  geo_location: {}] if defined? register_editable_user_custom_field

Ruby 버전 때문에 이런 변경이 강제된 것 같긴 하다.

어쨌든 해결책이 있는 것 같으니 원 게시글을 업데이트해야 하지 않을까?

플러그인 하나 더 수정해야 하고, 문제가 없으면 위 위키도 업데이트할 것이다.

2개의 좋아요

참고로, 빌드와 기능이 모두 정상적으로 작동하는 것 같습니다 :tada:

도움 주셔서 감사합니다.

2개의 좋아요

이것 때문이라고 생각합니다. Separation of positional and keyword arguments in Ruby 3.0 | Ruby

5개의 좋아요

안녕하세요 :wave:

플러그인을 통해 사용자 사용자 정의 필드를 만들려고 하는데, 여기서 설명하시는 내용을 완전히 이해하지 못하겠습니다. 제 플러그인에서 다음과 같이 작성하면:

register_editable_user_custom_field 'foo'

사용자 프로필과 사용자 카드에 표시하기 위해 여전히 플러그인 아웃렛 커넥터를 사용해야 하나요?

아니면 관리자 설정의 사용자 정의 필드와 유사한 메커니즘이 있어 자동으로 추가할 수 있나요(사용자 디렉터리 포함)? 이미 이런 방법이 있다면 커넥터와 직렬화기 필드를 추가하는 것을 피하고 싶습니다.

도움 주셔서 감사합니다!

1개의 좋아요

보시나요:

1개의 좋아요

안녕하세요 @merefield, 링크를 공유해 주셔서 감사하지만 제가 묻고 있는 내용과는 다릅니다. 관리자에서 생성한 커스텀 필드를 스태프 API 키를 가진 경우를 제외하고는 비공개로 만드는 것 같은데요.

설명에 불분명한 부분이 있다면 다시 정리해 보겠습니다: 관리자 화면의 "사용자 필드"에서 할 수 있는 것처럼(편집 가능, 검색 가능, 사용자 프로필 및 사용자 카드에 표시 등), 플러그인을 통해 커스텀 사용자 필드를 등록하는 방법이 있을까요?

2개의 좋아요

죄송합니다. 이 내용이 더 도움이 될까요?:

주요 모델들은 모두 사용자 정의 필드(Custom Field) 기능을 갖추고 있습니다.

2개의 좋아요