CSS를 사용하여 일부 사용자 필드를 숨겼습니다.
하지만 여전히 rails 콘솔, API 또는 개발자 도구를 통해 업데이트할 수 있습니다.
위와 같은 방법으로 아무도 이 필드(예: 웹사이트 또는 위치)를 업데이트할 수 없도록 보장하는 방법은 무엇인가요?
API를 변경하는 플러그인을 작성하세요(즉, 컨트롤러, 모델 또는 관련 라이브러리 함수를 오버라이드합니다)
참고로, 이는 매우 가능성이 낮습니다. 관리자만 Rails 콘솔에 접근할 수 있습니다.
이 값들의 표시를 숨기는 중이라면, 사용자가 그 값들을 채워 넣는 것이 무슨 문제가 되나요? 위치를 추가하려면 한 사용자가 일부러 조작을 해야 하고, 또 다른 사용자가 그 사용자의 프로필을 일부러 방문하여 입력된 내용을 확인해야 하기 때문입니다.
Discourse 포크를 통해 모델에서 해당 필드들을 제거하는 것 외에는, Rails 콘솔에 접근 권한이 있는 사용자가 그 필드에 데이터를 입력하는 것을 막을 방법은 거의 없습니다.
주기적으로 실행되어 원하는 필드들을 nil로 설정하는 플러그인을 작성할 수 있습니다. 또는 사용자 프로필이 업데이트될 때 호출되는 훅을 만들어 해당 필드들을 nil로 설정할 수도 있습니다. 예시로, GitHub - discourse/all-the-plugins · GitHub 에서 "add_model_callback"과 ":before_save"를 사용하는 플러그인을 찾아보세요. 그런 다음 UserProfile에 대해 이를 적용하면 됩니다.
답변해 주셔서 감사합니다. 말씀해 주신 대로 설정해서 작동하게 만들겠습니다. 그렇게까지 블로킹하는 건 과하다고 저도 동의하지만, 그게 과제 내용이라요.