조급하게 말한 것 같네요. ![]()
Truthy/falsy 매개변수를 ‘true’/‘false’ 문자열로 수정했지만, 사용자를 삭제할 때 여전히 Screened IPs와 Screened Emails에 항목이 추가되고 있습니다.
API 호출에 대한 Rails 로그는 다음과 같습니다:
Started DELETE "/admin/users/9553.json" for 123.123.123.123 at 2021-06-10 00:01:21 +0000
Processing by Admin::UsersController#destroy as JSON
Parameters: {"delete_posts"=>"false", "block_email"=>"false", "blocked_urls"=>"false", "block_ip"=>"false", "id"=>"9553"}
Can't verify CSRF token authenticity.
Rendering text template
Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 418 in 8ms (Views: 1.4ms | ActiveRecord: 0.0ms | Allocations: 2301)
그리고 API를 호출하는 대신 웹 인터페이스를 통해 실행한 요청은 다음과 같습니다:
Started DELETE "/admin/users/49.json" for 123.123.123.123 at 2021-06-10 08:24:47 +0000
Processing by Admin::UsersController#destroy as JSON
Parameters: {"context"=>"/admin/users/49/XXX", "delete_posts"=>"true", "id"=>"49"}
Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 418 in 23ms (Views: 4.7ms | ActiveRecord: 0.0ms | Allocations: 1778)
즉, 몇 가지 테스트를 해본 결과, /admin/users/{id}.json API 엔드포인트의 매개변수는 실제로 ‘true’ 또는 'false’로 설정되었는지와 관계없이 존재하는 한 항상 true로 해석되는 것 같습니다.
'true’인 매개변수만 설정하고 'false’인 매개변수는 건너뛰기 시작하자, 더 이상 Screened IPs/emails에 항목이 추가되지 않았습니다.
이것이 의도된 동작인가요? 문서에서 이해한 내용과는 다릅니다.