рдХреНрдпреЛрдВред
рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рд▓реЗрдЦ рдореЗрдВ, рдЬрд┐рд╕реЗ рдореИрдВ рдЦреБрдж рдПрдХ рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ рдкрдврд╝рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдореИрдВрдиреЗ рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдпрджрд┐ рд╡рд╣ рдЦрд░реЛрдВрдЪ рд╕реЗ рдЖрд░рдУрдЖрд░ рдкрд░ рдПрдХ рдЖрд╡реЗрджрди рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдпрд╣реА рд╣реИ, рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджреЗрд░реА рдХрд┐рдП рдмрд┐рдирд╛, рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВред рдпрд╣рд╛рдВ, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЙрд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдкрд╛рда рдХрд┐рд╕реА рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рддрдХ рдмрдЪрд╛рддрд╛ рд╣реИред )ред рдореИрдВ рдЦреБрдж рджреВрд╕рд░реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдЖрд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдЦреНрддреА рд╕реЗ рдиреНрдпрд╛рдп рди рдХрд░реЗрдВ)ред
рд╕реНрдерд╛рдкрдирд╛ред
рдмрд╕ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ ror рдХреЛ
rvm.io рдХреЗ рд╕рд╛рде rvm рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
ред>\curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enabled
рднрд╛рдЧреЛ рдЖрд░рд╡реАрдПрдо:
>source /___*/.rvm/scripts/rvm
* рдЗрд╕рдХреЗ рдмрд╛рдж $ рдШрд░ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рд▓рд╛рдЗрди $ HOME / .bash_profile рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
рдФрд░ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдХрдВрд╕реЛрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ rvm рд▓реЛрдб рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реБрдЖ - рдореБрдЭреЗ $ HOME / Zashrc рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:
. ~/.bash_profile
рдЕрдм рд╕рдм рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдо рд╣реИрдХ рдХреЗ рдЖрд╡рд╢реНрдпрдХ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдпрд╣ рдирд╡реАрдирддрдо) рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ (рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдФрд░ рдХреНрдпрд╛ рдЕрдВрддрд░ рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ -http: //www.ruby-lang.org)ред
>rvm install 1.9.3
рд╕рдлрд▓рддрд╛ рдХреА рдЬрд╛рдБрдЪ
>ruby -v
рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux].
рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП, рдЬреЛ рдмрд╛рдж рдореЗрдВ рдХреБрдЫ рдкрд░реЗрд╢рд╛рдиреА рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛)ред рдЖрдк рдорд╛рдгрд┐рдХ рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдЗрд╕ рддрд░рд╣ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
> рдЖрд░рд╡реАрдПрдо рд╕реВрдЪреА
рдпрджрд┐ рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рддреЛ рд╡рд░реНрддрдорд╛рди рдПрдХ рдХреЛ "=>", рдбрд┐рдлрд╝реЙрд▓реНрдЯ - "*", рдФрд░ рд╡рд░реНрддрдорд╛рди рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ - "= *" рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
>rvm use ruby-1.9.2-p320 ( )
рд░рдм рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
>rvm use ruby-1.9.2-p320 --default
рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред
рдЕрдм рдЖрдк рд╕реАрдзреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдлреЛрд▓реНрдбрд░ $ HOME / ROR / рдЯрд┐рдХрдЯ рдмрдирд╛рдПрдВ, рдЙрд╕рдореЗрдВ рдЬрд╛рдПрдВ рдФрд░ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВред
>sudo gem install bundler >rails new tickets
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдбреАрдмреА, рд▓реЙрдЧ, рдЖрджрд┐) рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рдПрдВрдЧреАред рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рд╕реА рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕, рдХреБрдЫ рд░рддреНрдиреЛрдВ (рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ) рдФрд░ рдПрдХ рд░реЗрд▓ рд╕рд░реНрд╡рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрдирд╛рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдЬрдбрд╝ рд╕реЗ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
>rails s -p 3000
рдЬрд╣рд╛рдБ s рд╕рд░реНрд╡рд░ (рд╕рд░реНрд╡рд░) рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд╣реИ, рдФрд░ -p 3000 рдкреЛрд░реНрдЯ рдирдВрдмрд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рдХрдВрд╕реЛрд▓ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдк рдХрд░реЗрдВ:
>rails c
рдЬрд╣рд╛рдБ рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП c рдЫреЛрдЯрд╛ рд╣реИ
рд╕рднреА рдЯреАрдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЯрд╛рдЗрдк рдХрд░рдХреЗ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ
> рд░реЗрд▓ --рд╣ред рдЕрдм
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ : 3000 рдореЗрдВ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╕реНрдЯрд╛рд░реНрдЯ рдкреЗрдЬ рджреЗрдЦреЗрдВрдЧреЗред рдЖрдк рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдиреНрдп рдкрд░ рднреА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ рдкреЛрд░реНрдЯ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд╛рдо рдХреЗ рд╕рд┐рд▓рд╕рд┐рд▓реЗ рдореЗрдВред рдПрдХ рдмрд┐рдВрджреБ рдкрд░, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд, рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереА - рдПрдХ рддреНрд░реБрдЯрд┐ рдЬрд╛рд░реА рдХреА рдЧрдИ рдереА рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣рд╛ рдерд╛ - рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ $ HOME / ROR / рдЯрд┐рдХрдЯ / config / tmp / pids / server.pid рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ред
рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЗрдордлрд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореВрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
> рдордгрд┐ 'рдкреГрд╖реНрда'
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдХрд░реЗрдВ
>bundle install
рд╣рдо рд╣рд░ рдмрд╛рд░ рдЬрдм рд╣рдо Gemfile рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рддрдм рд╣рдо рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддреБрд░рдВрдд рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░
> рддреНрд╡рд░рд┐рдд рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреЗ рд▓рд┐рдП рдордгрд┐ 'haml-rails' (рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрджрдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж)) рдкреНрд░рд╕реНрддреБрддрд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдорд╛рд░реНрдХрдЕрдкред рдЕрдм рд╣рдо рдХрдиреЗрдХреНрд╢рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗред рдлрд╛рдЗрд▓ред рдпрд╣ $ HOME / ROR / рдЯрд┐рдХрдЯ / config / folder рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдРрд╕рд╛ рдмреНрд▓реЙрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
development: host: localhost adapter: postgresql encoding: unicode database: tickets pool: 5 username: tickets
рд╕рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде, рдореЗрд░реЗ рдкрд╛рд╕ рдХреНрд░рдорд╢рдГ рдЯрд┐рдХрдЯ рдФрд░ рдЯрд┐рдХрдЯ рд╣реИрдВ)ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рддреИрдпрд╛рд░рд┐рдпрд╛рдВ рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИрдВ рдФрд░ рдЖрдк рдПрдХ рдореЙрдбрд▓, рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рджреГрд╢реНрдп рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореЙрдбрд▓ред
рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдПрдБ:
>rails g model user
рдЬрд╣рд╛рдБ g рдЬрдирд░реЗрдЯ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╣реИ
рд╣рдо рдПрдХрд╡рдЪрди рдореЗрдВ рдореЙрдбрд▓ рдХрд╛ рдирд╛рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ - рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдмрд╣реБрд╡рдЪрди рдореЗрдВ рд╣реЛрдЧреАред рдпрд╣ рдХрдорд╛рдВрдб $ HOME / ROR / рдЯрд┐рдХрдЯ / рдРрдк / рдореЙрдбрд▓ / user.rb рдФрд░ $ HOME / ROR / рдЯрд┐рдХрдЯ / рдРрдк / db / рдорд╛рдЗрдЧреНрд░реЗрдЯ / 20130425081208_create_users.rb рдореЗрдВ рдореЙрдбрд▓ рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдЧрд╛ред рд╕рднреА рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдореЙрдбрд▓ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .rb, views - .html.haml (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ haml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рд╣реИред рдкреНрд░рд╡рд╛рд╕рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдо рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ (рдлрд┐рд░, рдЬрдм рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрджрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ), рд╡реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ:
class CreateUsers < ActiveRecord::Migration def up create_table :users do |t| t.string :name, null: false t.boolean :role, null: false, default: false t.datetime :reg_date t.timestamps end end def down drop_table :users end end
рд╣рдо рджреЛ рддрд░реАрдХреЗ рдмрдирд╛рддреЗ рд╣реИрдВ - рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рд╡реЗ рдХреНрд░рдорд╢рдГ, рдЕрдкрдиреА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╣рдЯрд╛рддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд╛рдо рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдВрдЧреЗред рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрдИрдбреА рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рднреА рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
create_table :users, :primary_key => :users_id do |t|
рдФрд░ рдЕрдЧрд░ рд╣рдо рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
create_table :users, :id => false do |t|
рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВ:
>rake db:migrate
рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, $ HOME / ROR / рдЯрд┐рдХрдЯ / рдРрдк / db / рдорд╛рдЗрдЧреНрд░реЗрдЯ / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╕рднреА рддрд░реАрдХреЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдПред рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдлрд╝рд╛рдЗрд▓ $ HOME / ROR / рдЯрд┐рдХрдЯ / рдРрдк / db / shema.rb рдореЗрдВ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
>rake db:rollback
рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЧрдП рдЕрдВрддрд┐рдо рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдбрд╛рдЙрди рд╡рд┐рдзрд┐ рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рддрд╛рд▓рд┐рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИред рдЕрдзрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд░реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд░реЛрд▓рдмреИрдХ рдХрдорд╛рдВрдб рдореЗрдВ STEP рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
>rake db:rollback STEP=3
рдпрд╣ рдЖрджреЗрд╢ рдкрд┐рдЫрд▓реЗ рддреАрди рдорд╛рдЗрдЧреНрд░реЗрд╢рдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░реЗрдЧрд╛ред рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рднреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦреЗрдВ:
>rake db:migrate:status
рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реЗ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдзрд┐ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ VERSION рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝реЗрдВ:
>rake db:migrate:up VERSION=000001
рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓ ($ HOME / ROR / рдЯрд┐рдХрдЯ / рдРрдк / рдореЙрдбрд▓ / user.rb) рдореЗрдВ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ - рддрд╛рд▓рд┐рдХрд╛ рдлрд╝реАрд▓реНрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреА, рд╕реБрд░рдХреНрд╖рд╛ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ)ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
class User < ActiveRecord::Base attr_accessible :name, :role end
рд╡реИрд╕реЗ, haml рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреИрдм рдХреЗ рдкреНрд░рддрд┐ рдмрд╣реБрдд рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ - рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ - рдЙрджрд╛рддреНрдд рдкрд╛рдаред
рдЬрдмрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕рднреА рдмрдирд╛рдП рдЧрдП рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк рдХрдВрд╕реЛрд▓ рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
>user = User.new(name:"Test",role:"true")
рдпрд╣ рдХрдорд╛рдВрдб рдЯреЗрдмрд▓ рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦреЗрдЧреА, рд▓реЗрдХрд┐рди рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рд░реВрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдЧреАред рдЕрдм, рдЖрдЗрдП рдиреЛрдЯ рдХрд░реЗрдВ:
>user.save
рдпрджрд┐ рд╕рдлрд▓ рд╣реЛ, рддреЛ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдПрдХ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдмрдирд╛рдПрдБ:
>User.create(name:"Test",role:"true")
рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЛрдИ рд╡рд╕реНрддреБ рд╣реИ, рдЖрдк рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
>User.find(1)
рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рддреНрд░реБрдЯрд┐ рдХреЛ рд▓реМрдЯрд╛рдПрдЧрд╛: "ActiveRecord :: RecordNotFound: id = 1" рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрд╛, рд╕рд╛рде рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди sql- рдХреНрд╡реЗрд░реА рднреАред
рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝реАрд▓реНрдб рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ:
>User.find_by_name("Test")
рдХреБрдЫ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рдЬреЛ рд╕рдВрднрд╡рдд: рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдХрд╛рдо рдЖрдПрдВрдЧреЗ:
> User.first рдФрд░ User.last рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреНрд░рдорд╢рдГ рдкрд╣рд▓рд╛ рдФрд░ рдЖрдЦрд┐рд░реА рд░рд┐рдХреЙрд░реНрдб рд▓реМрдЯрд╛рдПрдЧрд╛, рдФрд░ User.all рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реМрдЯрд╛рдПрдЧрд╛ред
рдирд┐рдпрдВрддреНрд░рдХред
рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдПрдБ:
>rails g controller users
рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА: $ HOME / ROR / рдЯрд┐рдХрдЯ / рдРрдк / рдирд┐рдпрдВрддреНрд░рдХ / users_controller.rb рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛:
$ рдШрд░ / рдЖрд░рдУрдЖрд░ / рдЯрд┐рдХрдЯ / рдРрдк / рд╡рд┐рдЪрд╛рд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ /ред рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдорд╛рди рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рджреГрд╢реНрдп рд╣реЛрдЧрд╛ред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рддреБрд░рдВрдд рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
>rails g controller users index,list
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рд╕реНрддреБрддрд┐ рдлрд╝рд╛рдЗрд▓реЗрдВ $ HOME / ROR / рдЯрд┐рдХрдЯ / рдРрдк / рд╡рд┐рдЪрд╛рд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрджрд┐ рдЖрдк haml рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдирд╣реАрдВ рднреВрд▓реЗ) index.html.haml рдФрд░ list.html.hamlред рдЖрдк рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
>rails d controller users
рдЬрд╣рд╛рдБ d рдирд╖реНрдЯ рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╣реИ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реЛрдЧреА:
class UsersController < ApplicationController def list @users_list=User.all end end
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_рд╕реВрдЪреА рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛрдЧреА рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрдВрд╕реЛрд▓ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реИ, рдФрд░ "@" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЪрд░ рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдкреНрд░рджрд░реНрд╢рдиред
рдЕрдм рджреГрд╢реНрдп рдмрдирд╛рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╕рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдирд╛рдпрд╛:
$ рдШрд░ / рдЖрд░рдУрдЖрд░ / рдЯрд┐рдХрдЯ / рдРрдк / рд╡рд┐рдЪрд╛рд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рд╕реВрдЪреА.html.haml
рдЖрдк рдпрд╣рд╛рдВ рдПрдЪрдПрдПрдордПрд▓ рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ (http://haml.info/tutorial.html), рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрджреНрдШрд╛рдЯрди рдФрд░ рд╕рдорд╛рдкрди рдЯреИрдЧ рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ "% рдЯреИрдЧ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ,% html рд╡рд╛рд▓реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдПрдХ рдкреЗрдЬ рдорд┐рд▓рддрд╛ рд╣реИ
<html></html>
ред рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдШреЛрдВрд╕рд▓реЗ рдХрд╛ рд╕реНрддрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЯреИрдЧ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реИрдХреЗрдЯ рдореЗрдВ "рд╣реИрд╢-рд▓рд╛рдЗрдХ" рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ:
%td{colspan=>"2"}
рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛
<td colspan="2"></td>
, рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:% td рдкрд░реАрдХреНрд╖рдгред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдорд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА:
%table{:border=>"1"} %tr %td %td - @users_list.each do |users| %tr %td= users.name %td %input{:type=>"checkbox",:name=>"role_#{users.id}",:checked=>users.role} %br
рдПрдХ рд╣рд╛рдЗрдлрд╝рди рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓реВрдк рдореЗрдВ рдЗрд╕рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдирд╛рдо рдФрд░ рднреВрдорд┐рдХрд╛ рдФрд░ рдЖрдИрдбреА рдлрд╝реАрд▓реНрдбред
рд╕рднреА рджреГрд╢реНрдп рдореБрдЦреНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ "рд░реИрдк" рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ $ HOME / ROR / рдЯрд┐рдХрдЯ / рдРрдк / рд╡рд┐рдЪрд╛рд░ / рд▓реЗрдЖрдЙрдЯ / application.html .haml рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ
рд╣рдо рдЗрд╕рдореЗрдВ рдореМрдЬреВрдж рд╣рд░ рдЪреАрдЬ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВ:
!!! %html{:lang => "en"} %head %title Test %body =yield
рд╣рдорд╛рд░реЗ рд╕рднреА рдЙрддреНрдкрдиреНрди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА = рдЙрдкрдЬ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреЗ рд╕реНрддрд░ рдХреЗ рд╕рд╛рде рдЧрд▓рддреА рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рдкрд╣рд▓реЗ рддреЛ рдЗрд╕рдиреЗ рдореБрдЭреЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛)ред
рдорд╛рд░реНрдЧреЛрдВред
рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХрджрдо рдмрдЪрд╛ рдерд╛ - рдорд╛рд░реНрдЧ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ (url) - рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ред рдпрд╣ $ HOME / ROR / рдЯрд┐рдХрдЯ / config / рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рдпрд╣ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рднреА рдорд╛рд░реНрдЧреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЕрдм рдХреЗрд╡рд▓ рджреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА:
Tickets::Application.routes.draw do root :to => "users#index"
рдпрд╣ "рдореБрдЦреНрдп" рдкреГрд╖реНрда рдХрд╛ рд░реВрдЯ рд░реВрдЯ рд╣реИ (/users/index.html.haml рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рднрд▓реЗ рд╣реА рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд┐рдзрд┐ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ) рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реВрдЪреА рдЖрдЙрдЯрдкреБрдЯ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдкрдеред рдпрджрд┐ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рд╣реЛрдЧрд╛, рддреЛ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:
рдкреЛрд╕реНрдЯ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдЬреЛрдбрд╝реЗрдВ"ред
рдЕрдм рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)