๋ ์ผ์ฆ ๋ฒ์ : 4.1.10
Rspec ๋ ์ผ ๋ฒ์ : 3.0.2
์์ฒญ ํ
์คํธ๋ฅผ ์์ฑ ์ค์ด๊ณ ๋ชจ๋ธ์๋ true
๋ฌธ์์ด์ด ์๋ ๋ถ์ธ true
์์ฑ์ด ํ์ํฉ๋๋ค.
์์ฒญ ํ
์คํธ( param[:attribute] = true
)์์ ์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ ๋ ๋ชจ๋ธ์ model.attribute = "true"
์ ๋ฐ์ต๋๋ค. ( "true"
๋ฌธ์์ด)
์ปจํธ๋กค๋ฌ ํ
์คํธ( param[:attribute] = true
)์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ ๋ ๋ชจ๋ธ์ model.attribute = true
๋ฅผ ๋ฐ์ต๋๋ค. ( true
๋ถ์ธ๋ก)
์์ฒญ ํ
์คํธ์์ ๋ชจ๋ธ์ ๋ถ์ธ ๊ฐ์ผ๋ก true
๋ฅผ ์ ๋ฌํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
์์ ์์ง:
https://gist.github.com/a-leung/cc44372f1ae776726e89
model.attribute = (1 == 1)์ ์๋ ํ์ต๋๊น?
๋ฌธ์ ๋ model.attribute
๋ฅผ ํ ๋นํ๋ ๊ฒ์ด ์๋๋ผ ์ปจํธ๋กค๋ฌ์์ ์ ๋ฌ๋๋ rspec ๋งค๊ฐ๋ณ์( params[:attribute] = true
๊ฒฐ๊ณผ: model.attribute == true
)์ ์์ฒญ( params[:attribute] = true
๊ฒฐ๊ณผ model.attribute == 'true'
).
๋์ผํ ๋งค๊ฐ๋ณ์๊ฐ ์ฃผ์ด์ง๋ฉด ์ปจํธ๋กค๋ฌ ํ ์คํธ๋ ๋ถ์ธ true๋ฅผ ๋ชจ๋ธ์ ์ ๋ฌํ๊ณ ์์ฒญ ํ ์คํธ๋ ๋ฌธ์์ด true๋ฅผ ๋ชจ๋ธ์ ์ ๋ฌํฉ๋๋ค.
์ํฉ์ด ๋ช ํํ์ง ์์ ๊ฒฝ์ฐ ์๋ ค์ฃผ์ญ์์ค. ์์ฐํ ๊ฐ๋จํ ๋ ์ผ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ ์ผ ํ ์คํธ๊ฐ ์๋ํ๋ ๋ฐฉ์์ ๋ฌธ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด JSON์ ๊ฒฝ์ฐ ์ปจํธ๋กค๋ฌ ํ ์คํธ๊ฐ ์ค์ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ ์ ์๋ ์ด์ ๊ฐ ๋ ์ ์๋ JSON์ ๊ฒฝ์ฐ์ ๊ฐ์ด ์ด์ ์ ๋ฏธ๋ค์จ์ด์ ์ํด ๋์ฝ๋ฉ๋์ง ์๋ ํ ์ค์ ๋ก ๋งค๊ฐ๋ณ์๋ ํญ์ ๋ฌธ์์ด์ ๋๋ค...
์์ ์ข์. ์ค๋ช ๊ฐ์ฌํฉ๋๋ค.
์ปจํธ๋กค๋ฌ ํ ์คํธ์ ๋์ผํ ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ์์ฒญ ํ ์คํธ๋ฅผ ๋ฐ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
๊ทธ๋ค์ ์ด๋ฏธ ํ ๊ฒ์ ๋๋ค.
๋ถ์ธ ๋งค๊ฐ๋ณ์๊ฐ ๋ฌธ์์ด์ด ์๋ true/false๋ก ์ปจํธ๋กค๋ฌ์ ์ค๋ ๊ฒฝ์ฐ ๋ณธ๋ฌธ์ JSON์ผ๋ก ์ ๋ฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
post :update, params: { id: user.id, attribute: true }, as: :json
์๋๋ฉด ์ด๊ฑฐ:
post :update, params: { id: user.id }, body: { attribute: true }.to_json, as: :json
ํ ์คํธ์์๋ ๋ถ์ธ๋ก ์ ๋ฌํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ถ์ธ ๋งค๊ฐ๋ณ์๊ฐ ๋ฌธ์์ด์ด ์๋ true/false๋ก ์ปจํธ๋กค๋ฌ์ ์ค๋ ๊ฒฝ์ฐ ๋ณธ๋ฌธ์ JSON์ผ๋ก ์ ๋ฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
์๋๋ฉด ์ด๊ฑฐ:
ํ ์คํธ์์๋ ๋ถ์ธ๋ก ์ ๋ฌํฉ๋๋ค.