
рд╣реАрдо рдмреБрд▓рд╛рдпрд╛
Turbolinks рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреГрд╖реНрда рдкрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдКрдкрд░ рдЕрдЪреНрдЫрд╛ рдЧрддрд┐ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдЗрд╕реЗ рд░реЗрд▓ 4 рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдм рд░реЗрд▓ 3 рдореЗрдВ рд▓рд┐рдЦреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдХреБрдЫ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдиреЗрдВрдЧреЗред
рд░реЗрд▓ 4 рд╕реВрдХреНрд╖реНрдорддрд╛ рдЪрдХреНрд░ рдХреА рд╕рд╛рдордЧреНрд░реА
рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рд░реЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдкреГрд╖реНрда рдХреЗ рд╢рд░реАрд░ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рд╣рд╛рдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдм рдЕрдЪреНрдЫрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдордгрд┐ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рддреАрд╕рд░реЗ рд░реИрд▓ рдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рдХрд░реЗрдВрдЧреЗред
рдпрд╣ рд╕рд╛рдЗрдЯ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ - рдпрд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдирдпрд╛ рдХрд╛рд░реНрдп рдПрдХ рдЕрдзреВрд░рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдорд╛рдЙрд╕ рдХреЗ рдПрдХ рдорд╛рдореВрд▓реА рдЖрдВрджреЛрд▓рди (рдпрд╛ рдмрд▓реНрдХрд┐, рдЙрдЪрд┐рдд рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреНрд▓рд┐рдХ), рдПрдХ рдкреВрд░реА рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред

рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛
рдЕрдм рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдордгрд┐ рдХреЗ рдирд╛рдо рдХреЛ рдордгрд┐рдн рдореЗрдВ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░
рдмрдВрдбрд▓ рдЗрдВрд╕реНрдЯрд╛рд▓ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред
/ рдЬреЗрдордлрд╛рдЗрд▓
gem 'turbolinks'
рдЕрдм рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
/app/assets/javascripts/application.js
//= require jquery //= require jquery_ujs //= require turbolinks //= require_tree .
рд╡реИрд╕реЗ, рдордгрд┐ рдХреЛ jQuery рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рд░реЗрд▓ рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдереЛрдбрд╝рд╛ рдЪрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЬреНрдпрд╛рджрд╛ рдЕрдВрддрд░ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХреЛ рдЦреЛрд▓рдиреЗ рдФрд░ рдлрд┐рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдШреВрдордиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЬрдм рдореИрдВ рдХрд┐рд╕реА рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ: рдордгрд┐ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрд╣ рддрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯрд░реНрдмреЛрд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ (рдФрд░, рдЕрдзрд┐рдорд╛рдирддрдГ, рдХрд┐рд╕реА рдЬреНрдЮрд╛рдд рдЪреАрдЬ рдХреЗ рд▓рд┐рдП), рдпрд╛ рдЕрдкрдбреЗрдЯ (рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ)ред рдордгрд┐ рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдмрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрд╡реЗрджрди рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХреНрд░реЛрдо рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдЙрд╕рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рддрд╣рдд рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЦреЛрд▓реАред рд╡реЗрдм рдирд┐рд░реАрдХреНрд╖рдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рд▓рд┐рдВрдХ рдкрд░ poklikat рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдкреЗрдЬ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрдирдГ рд▓реЛрдб рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдордгрд┐
turbolinks.js рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреЗрдЬ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП ajax рдЕрдиреБрд░реЛрдз рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред

рдордгрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рд╛рдЗрдЯ рдХреЛ рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬреЗрдПрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдХреА рдлрд┐рд░ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдкреГрд╖реНрда рдкрд░ рд╕рднреА рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕
рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕реБрдирддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдкреГрд╖реНрда рдкрд░ рдПрдХ рдЬреАрдИрдЯреА рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдЖрдВрдХрдбрд╝реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░
рд╢реАрд░реНрд╖рдХ рдФрд░
рд╢рд░реАрд░ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдордгрд┐ рдЕрджреНрдпрддрди рдкреГрд╖реНрда рдХреЗ URL рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╢ рд╕реНрдЯреЗрдЯ рдПрдкреАрдЖрдИ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рддрдХрдиреАрдХ PJAX рд╕реЗ рдХрд╛рдлреА рдорд┐рд▓рддреА-рдЬреБрд▓рддреА рд╣реИред

рдореМрдЬреВрджрд╛ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯрд░реНрдмреЛрд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдпрд╣ рдореМрдЬреВрджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдЖрдк рдмрд╕ рдХрд╛рд░реНрдп рдЪреЗрдХрдмреЙрдХреНрд╕ рдореЗрдВ рдорд╛рди рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЖрдо рддреМрд░ рдкрд░ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреГрд╖реНрда рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рд╡рд╛рд╖реНрдкрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧреАред
рдЕрд╕рд▓ рдореЗрдВ, рдпрд╣рд╛рдБ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ:
/app/assets/javascripts/projects.js.coffee
jQuery -> $('.edit_task input[type=checkbox]').click -> $(this).parent('form').submit()
рдХреЛрдб рдПрдХ рдХрд╛рд░реНрдп рдЪреЗрдХрдмреЙрдХреНрд╕ рдореЗрдВ рдПрдХ
рдХреНрд▓рд┐рдХ рдШрдЯрдирд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдпрд╣ рд╣реБрдЖ, рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдлреЙрд░реНрдо рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЛрдб рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдШрдЯрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкреГрд╖реНрда рдХреЗ рдкреВрд░реЗ рдбреЛрдо рдХреЗ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдлрд╛рдпрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ jQuery рдШрдЯрдирд╛рдУрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪреЗрдХрдмреЙрдХреНрд╕ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред
рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдХреЙрд▓рдмреИрдХ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдкрд░ рд▓рд╛рддрд╛ рд╣реИ: рдЬрдм рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдордгрд┐ рдХреА рдЙрдкрд░реЛрдХреНрдд рд╡рд░реНрдгрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рд╣рдо рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЙрд╕реА рдкреГрд╖реНрда рдкрд░ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдирдпрд╛ рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рд╕реНрд╡рдпрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ
рдкреГрд╖реНрда рд╣реИ: рд▓реЛрдб ред рдпрд╣ рдЖрдкрдХреЛ рдбреЛрдо рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
/app/assets/javascripts/projects.js.coffee
ready = -> $('.edit_task input[type=checkbox]').click -> $(this).parent('form').submit() $(document).ready(ready) $(document).on('page:load', ready)
рдЕрдм рдЖрдк
рддреИрдпрд╛рд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рдВрдмреЗ-рд╕рдордп рдХреЗ рдлрдВрдХреНрд╢рди рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ
рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
рдкреЗрдЬ: рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЕрдм рдЪреЗрдХрдмреЙрдХреНрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрд╛ рдирд╣реАрдВред рдЕрдм рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдмрд╣рд╛рд▓ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЬрдм рдХрд╛рд░реНрдп рдХреЗ рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЛ рдЯрд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрд╛рд░реНрдп рднреА рдЕрдзреВрд░рд╛ рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
Jquery Turbolinks рдордгрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЙрдкрд╛рдп рд╣реИред рддрддреНрд╡реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдЙрдирдХреА рдХреНрд▓рд┐рдХ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдкреВрд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП
рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░, рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛:
/app/assets/javascripts/projects.js.coffee
$('document').on 'click', '.edit_task input[type=checkbox]', -> $(this).parent('form').submit()
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ DOM рд▓реЛрдб рд╣реИред рдФрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рднреА рд╣реИ: рдХреЛрдб AJAX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛрдбрд╝реЗ рдЧрдП рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓ рд▓реЗрдЧрд╛ред
рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдирдЬрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП
рдмрдЧ рдЯреНрд░реИрдХрд░ Turbolinks , рдХреНрдпреЛрдВрдХрд┐ рд╕рдордп рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдкрд░, рд╡рд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреНрд╡рд┐рдЯрд░ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк, jQuery рдХреЗ рдпреВрдЖрдИ рдХреИрд▓реЗрдВрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдХреЗ рд╕рд╛рде рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдереАред рдЙрд╕реА рд╕рдордп, рд╕рдВрдЧрддрддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрди рдкрд░ рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдлрд┐рд░ рднреА, рдРрд╕реА рд╡рд┐рд╖рдо рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдирдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдкреГрд╖реНрда рдкрд░ рд▓реМрдЯрддреЗ рд╕рдордп, Turbolinks рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ GET рдХреЗ рдмрдЬрд╛рдп POST рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ? рдмрд╕ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред рдЗрди рдмрдЪрдкрди рдХреА рдмреАрдорд╛рд░рд┐рдпреЛрдВ рдХреЛ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ: "рдХреНрдпрд╛ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ?"
рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдЧрддрд┐ рдкрд░реАрдХреНрд╖рдг рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреГрд╖реНрда рд▓реЛрдб рджреЛрдЧреБрдирд╛ рд╣реИред рдмреЗрд╢рдХ, рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдШрд░ рдкрд░ рдордгрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╛рдЗрдЯ рдХреА рдЬрд╡рд╛рдмрджреЗрд╣реА рдореЗрдВ рдХреИрд╕реЗ рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рд░реЗрд▓реНрд╕ 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рде рд╣реА рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдЯрд░реНрдмреЛрд▓рд┐рдВрдХреНрд╕ рдлрд┐рдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдордгрд┐ рдХреЛ рдордгрд┐рдн рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ, рдФрд░ рдлрд┐рд░ рдЖрд╡реЗрджрди рдХреЗ рдореБрдЦреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рд░реЗрдЦрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЕрдиреБрд╡рд╛рдж рдХреА рдЧрд▓рддрд┐рдпрд╛рдБ рдФрд░ рдЕрдиреНрдп рд╕рдорд╛рди рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдХреГрдкрдпрд╛ рдкреАрдПрдо рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред
рдЖрд╡реЗрджрди
рдореЗрд░реЗ рдмреНрд▓реЙрдЧ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм
рдХрд░реЗрдВ !