๋ฃจ๋น ์จ ๋ ์ผ์ฆ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ
๋ฃจ๋น ์จ ๋ ์ผ์ฆ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ
static ํ์ผ์ ์ ์ฅํ ๊ณณ์ ์ฐพ์์ผ ํด์ ๊ฒ์ ํ๊ฒ ๋์๋ค. ์์ ์๋
static/ ../css ../js ../images
๋ ์ผ์ฆ๋ default ๋๋ ํ ๋ฆฌ๊ฐ ๋ค ๋ง๋ค์ด์ ธ ์๊ธฐ ๋๋ฌธ์ ๊ทธ์ ๋ง์ถฐ ์จ์ผ ๋ค๋ฅธ์ฌ๋์ด ์์๋ณด๊ธฐ๋ ํธํ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค.
$ rails demo demo/ ..../app ......../controller ......../helpers ......../models ......../views ............../layouts ..../components ..../config ..../db ..../doc ..../lib ..../log ..../public ..../script ..../test ..../tmp ..../vendor README Rakefile
app : ์ ํ๋ฆฌ์ผ์ด์
์ปดํฌ๋ํธ๋ฅผ ๋ด๊ณ ์๋ค. ๋ชจ๋ธ, ๋ทฐ, ์ปจํธ๋กค๋ฌ๊ฐ ์ด์ ํด๋น.
app/controllers: ๋ ์ผ์ฆ ํด๋์ค๋ฅผ ์ฐพ๋ ์๋ธ ๋๋ ํ ๋ฆฌ. ์น ์์ฒญ์ ์ฒ๋ฆฌ.
app/helpers: ๋ชจ๋ธ, ๋ทฐ, ์ปจํธ๋กค๋ฌ ํด๋์ค๋ฅผ ์ง์ํ๋ ํฌํผ ํด๋์ค๋ฅผ ๋ณด์ .
app/models: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ธ ํด๋์ค๋ก ์ฒ๋ฆฌ.
app/view: ๋ฐ์ดํฐ๋ฅผ html๋ก ๋ ๋๋งํ๋ค.
app/view/layouts: ๋ทฐํ์ผ์ html์ ๋ ๋๋ง ํ ์ ์๋ค.
๋ ์ผ์ฆ ๊ฐ๋ฐ์ ํ๋ฉด์ ์๊ฒ ๋๊ฑด๋ฐ app ์ ํด๋๋ฅผ ์์๋ก ์ถ๊ฐํด ๋ง๋ค์ด๋ ์๊ด์ด ์๋ค. ์๋์ผ๋ก ์ฐพ์ ์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ ๋๋ ํ ๋ฆฌ ์๋ ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ฉด ์์๋ก ์ค์ ์ ํด์ผํ๋ค.
config: ๋ ์ผ์ฆ ์ดํ๋ฆฌ์ผ์ด์
์ ๋ํ ์ค์ ์ฝ๋๋ค์ด ์๋๊ณณ. DB์ค์ (database.yml), ๋ ์ผ์ฆ ํ๊ฒฝ์ค์ (environment.rb), ์น ๋ผ์ฐํ
์ค์ (routers.rb) ๋ฑ. ๋ํ environments ๋๋ ํ ๋ฆฌ์ ์ค์ ๋ ํ์ผ๋ค์ ์ด์ฉํ์ฌ ๊ฐ๋ฐ, ํ
์คํธ, ์๋น์ค์ ๋ฐ๋ฅธ ํ๊ฒฝ์ค์ ์ ๊ฐ๊ฐ ํ ์ ์๋ค.
db: ํต์์ ์ธ ๋ ์ผ์ฆ ์ดํ๋ฆฌ์ผ์ด์
์์๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ก์ธ์คํ๋ ๋ชจ๋ธ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉ. ์ฌ๊ธฐ์๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค๊ณ ์ ์ฅํ๋ ๊ณณ.
lib: ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ด ๋๋ ํ ๋ฆฌ์ ์ ์ฅ.
log: ์๋ฌ๋ก๊ทธ์ ์์ฑ์ฅ์. ์๋ฒ์ ํ๊ฒฝ์ค์ ์ ๋ก๊ทธ๋ค๋ก ๋๋์ด ์ ์ฅ ๋จ.
public: ์น ์๋ฒ์ public ๋๋ ํ ๋ฆฌ ์ฒ๋ผ, ๋ณํ์ง ์๋ ์ ์ ์น ํ์ผ๋ค์ ๋ฃ์ด๋๋ ๊ณณ. ์๋ฐ์คํฌ๋ฆฝํธ, ์ด๋ฏธ์ง, Css, HTML.
test: ํ
์คํธ์ ๊ด๋ จ๋ ์ฝ๋๋ฅผ ๋ฃ๋๊ณณ.
tmp: ๋ ์ผ์ฆ๊ฐ ์ค๊ฐ ์ฒ๋ฆฌ๊ณผ์ ์์ ์ฌ์ฉํ๋ ์์ํ์ผ์ ์ ์ฅํ๋ ๊ณณ.
vendor: ๋ณด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํธ๋ฆฌํฐ ์ฒ๋ผ ์๋ํํฐ ๋ฒค๋๋ค์ด ์ ๊ณตํ๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ ์ฅํ๋ ๊ณณ.