【Rubocop】Use 2 (not 1) spaces for indentation. 해결하기

2123 단어 RuboCop루비Rails
Rubocop을 도입해 에러를 해결해 나가는 가운데, 아래와 같은 에러가 상당한 수 나왔습니다.
"Use 2 (not 1) spaces for indentation."

조사해도 일본어의 해설 기사가 거의 없었으므로, 비망록으로서 남겨 봅니다.
잘못된 점 등 있으면 지적해 주시면 좋겠습니다.

덧붙여서, Rubocop의 자동 수정은 효과가 없었다\(^o^)/

환경



MacOS Catalina
Rails 6.0.3.2
Ruby 2.6.3

Use 2 (not 1) spaces for indentation.



Google 번역에 걸쳐 보면 아래와 같은 느낌.
"들여쓰기에는 두 개(하나가 아닌) 공백을 사용합니다."
즉, 들여쓰기를 2개 비우고 있는 것일까?

해당 오류 행


app/controllers/messages_controller.rb:2:1: C: Use 2 (not 1) spaces for indentation.
    before_action :set_room, only: [:create, :destroy]
^
app/controllers/messages_controller.rb:6:2: C: Use 2 (not 1) spaces for indentation.
        if Entry.where(user_id: current_user.id, room_id: @room.id)
 ^
app/controllers/messages_controller.rb:7:3: C: Use 2 (not 1) spaces for indentation.
            @message = Message.create(message_params)
  ^

확실히 문제가 없는 것처럼 보이지만, 공간이 하나 비어 있다고 하면 비어 있는구나.
좀더 그 밖에도 같은 행이 있는데. . .

예를 들어, 아래의 행에서는 어째서인지 위의 행만 화내고 있다.
    before_action :set_room, only: [:create, :destroy]
    before_action :set_message, only: [:destroy]

수수께끼 of 수수께끼.

수정해보기



before
    before_action :set_room, only: [:create, :destroy]

after
    before_action :set_room, only: [:create,  :destroy]

고쳐 보면 에러의 수가 줄어들었다···위화감 있는데 어디 뭔가 이상해? ?
실행 취소 결과 → 오류가 더 줄어 듭니다 (웃음)

하지만 오류가 줄어든 것은 해당 행이 아니라 다른 오류 같다.
흠 왜 줄어들었는지도 모르고 무엇이 정답이야. . .

잘 보면 에러가 나오는 것이 모두 같은 파일내이므로,
이 파일 특유의 문제가 무엇인가 있을 것으로 예상.

해결할 수 있었다



결론은 "오류가있는 파일 만 탭에서 들여 쓰기"했다.
VSCODE에서 공간 들여 쓰기로 변경하여 오류가 사라졌습니다.

왜 이 파일만 다른 것인지는 모르겠지만・・・.

끝에



범 실수였지만, 에러 메세지에 휩쓸려 좀처럼 생활에 도착하지 못했습니다.
똑같이 고민하고 있는 분의 도움이 되면 다행입니다!

좋은 웹페이지 즐겨찾기