플러그인에서 HasCustomFields 사용

그렇지 않은 것 같습니다.

두 번째 접근 방식(즉, pfaffman_server_id를 열 이름으로 사용하는 것)이 목표로 삼아야 할 방식인 것 같습니다.

이 메서드를 오버라이드하면 도움이 될지 궁금합니다:

콘솔에서 현재 값을 확인해 볼 수 있습니다:

Server.new.custom_fields_fk

이 값이 server_id라면, Server 모델에서 해당 메서드를 오버라이드하는 것을 제안합니다.

class Server < ...
  def custom_fields_fk
    "pfaffman_server_id"
  end
end