рд▓реЗрдЦ рдПрдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рдВрджрд░реНрдн рдХреА рд╕реВрдЪреА рд╕реЗ рдПрдХ рдкреБрд╕реНрддрдХ рд╕реЗ рдПрдХ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рд╣реИ, рдлрд┐рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрддрд╛ рд╣реИ "рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорджрдж", рдЬреЛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рдВрджрд░реНрднреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рднреА рд╣реИрдВред

рдкреНрд░рд╡рд╛рд╣ рд╕рдВрдЪрд┐рддреНрд░
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддреАрди рдЯреЗрдмрд▓ рд╣реИрдВ - рдЪрд┐рддреНрд░, рдкреНрд░рд╢реНрди рдФрд░ рдкрд░рд┐рдгрд╛рдоред рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ "рд╡рд░реНрдЧреАрдХрд░рдг рдФрд░ рдкрд╣рдЪрд╛рди" рдореЗрдВ рдореБрдЦреНрдп рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдлрд▓ рдорд╛рдиреНрдпрддрд╛ (рдзреНрд╡рдЬ рдХреНрд╖реЗрддреНрд░) рдФрд░ "рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдирдореВрдирд╛" (рдлрд╝реАрд▓реНрдб рдПрди) рдореЗрдВ "рдСрдмреНрдЬреЗрдХреНрдЯ, рдЙрддреНрддрд░" рдЬреЛрдбрд╝реЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рджреВрд╕рд░реЗ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рд╣реА рдЪрдпрди (рдореВрд▓реНрдп рдХреНрд╖реЗрддреНрд░), рд╕рд╛рде рд╣реА рд╕рд╛рде "рдЧреБрдг рдФрд░ рдЧреБрдг" (рдирд╛рдо рдлрд╝реАрд▓реНрдб) рдФрд░ рдорд╛рдиреНрдпрддрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдо рдХреНрд╖реЗрддреНрд░ рдХреЗ рдирд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рддреАрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрддрд░ (рдмрд╛рд░рд┐рд╢ / рдХреЛрдИ рдмрд╛рд░рд┐рд╢ рдЖрджрд┐) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдПрдХреНрд╢рди рд╢реЛрдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░, рдирд┐рдпрдо * рдХрд╛ рдорд╛рди рдирд┐рдпрдо * n рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдорд╛рди рдореЗрдВ рджреЛ рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ: 0 рдпрд╛ 1)ред рдЕрдЧрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░, рдирд┐рдпрдо рдХрд╛ рдПрдХрд▓ рдорд╛рди рдЗрд╕ рд░рд╛рд╢рд┐ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдЕрд░реНрдерд╛рддреН рдирд┐рдпрдо = рдирд┐рдпрдо * n + 1 рд╣реИред
рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде рдЬрдбрд╝рддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЗрд╕рдореЗрдВ рд╕реЗ рдШрдЯрд╛ рджреА рдЧрдИ рд╣реИ (рд╢реВрдиреНрдп рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдкрд╣рд▓реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рдЙрддреНрддрд░ рдЕрдЬреНрдЮрд╛рдд рд╣реИ) рдЙрддреНрддрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (рдХреЗред рдирдпреНрд▓реЛрд░ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдпреЛрдЧ * рдореВрд▓реНрдп рдХрд╛ рдЕрд░реНрде рд╣реИ рдкрд╣рд▓рд╛ рдЙрддреНрддрд░, рдирдХрд╛рд░рд╛рддреНрдордХ - рджреВрд╕рд░рд╛)ред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкрд╣рд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдо рд╢реВрдиреНрдп рдорд╛рди) рдкрд░, рдорд╛рдиреЛрдВ рдХрд╛ рдпреЛрдЧ рднреА рд╢реВрдиреНрдп рд╣реЛрдЧрд╛ред рджреВрд╕рд░реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ, рдпрд╣ рд╕реАрдорд╛ [1, n] рдореЗрдВ рд╣реЛрдЧрд╛ (рдКрдкрд░ рдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░ рджреЗрдЦреЗрдВ), рддреАрд╕рд░реЗ рдкрд░ рдпрд╣ рд╕реАрдорд╛ [n + 1, (n + 1) * n] рдореЗрдВ рд╣реЛрдЧреА; рдЪреМрдереА рд╕реАрдорд╛ рдкрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛: [(n + 1) * n + 1, ((n + 1) * n + 1) * n] рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕реАрдорд╛ рдХреА рджрд╛рд╣рд┐рдиреА рд╕реАрдорд╛ рд╕реВрддреНрд░ рдпреЛрдЧ = (рдпреЛрдЧ + 1) * рдПрди рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЬрдм рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрддрд░реЛрдВ рдХреА рдЬрд╛рдБрдЪ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдо рдирд┐рдпрдо рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВред
рдпрд╣ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИрдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорджрдж рдХрд░реЗрдВ
рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реЗрдВ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ
rails generate scaffold Image name:string flag:boolean n:integer rails generate scaffold Question name:string value:integer rule:integer image:references rails generate scaffold Outcome name:string image:references
Db / migrate / yyyMMddhhmmss_create_images.rb рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрди t.boolean рдХреЗ рдмрдЬрд╛рдп: рдзреНрд╡рдЬ, t.boolean: рдзреНрд╡рдЬ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ: рдЕрд╕рддреНрдп рд▓рд┐рдЦреЗрдВред рд╣рдо images.n, questions.value рдФрд░ questions.rule рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдФрд░ рд░реЗрдХ db: рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж, config / path.rb рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрди рд╕рдВрд╕рд╛рдзрди рдХреЗ рдЕрдзреАрдирд╕реНрде рдмрдирд╛рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдРрдк / рдореЙрдбрд▓ / рдЫрд╡рд┐ рдореЗрдВ рднреАред has_many рдЬреЛрдбрд╝реЗрдВ: рдкреНрд░рд╢реНрди рдФрд░ has_many: рдкрд░рд┐рдгрд╛рдоред рдпрд╣ рддрджрдиреБрд╕рд╛рд░ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдорд╛рд░реНрдЧ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ: image_questions_path (params [: image_id]), рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рд╢реНрди_рдкрде рдХреЛ рдмрджрд▓реЗрдВред
рд╣рдо _question.html.erb рдФрд░ _outcome.html.erb рд╡рд┐рднрд╛рдЬрди рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЫрд╡рд┐рдпреЛрдВ / show.html.erb рджреГрд╢реНрдп рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░реЗрд▓ 5 рдкрд░ рд╡реАрдбрд┐рдпреЛ рдЯреВрд░ рджреЗрдЦрдХрд░ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рд╣реИред
рдЗрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЕрдзреАрдирд╕реНрде рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП new.html.erb рдФрд░ edit.html.erb рдХреЗ рджреГрд╢реНрдп рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдПрдХрд▓ _form.html.erb рдЖрдВрд╢рд┐рдХ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░, рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдлрд╝реЙрд░реНрдо рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд░рд╛рд╕реНрддрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЧрд▓рдд рд╣реИред рд╣рдо рд╕рд╣реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдирд┐рдпрдо рдлрд╝реАрд▓реНрдб рдорд╛рди (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ) рдХреЗ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИред рдпрд╣ рддрдм рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм ImageController рдХреЗ рд╢реЛ рдПрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╡реЗрдм рдкреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгред рдорд╛рд░реНрдЧреЛрдВ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд╛рд░рдг, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░ рдЬреБрдбрд╝рдирд╛рд░ рдореЗрдВ рднреА рдЗрд╕реА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╕рд╛рд╣рд┐рддреНрдп
рд╕реАред рдирд╛рдЗрд▓рд░ред рдХреИрд╕реЗ рдЕрдкрдиреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП - Energoatomizdat рдкрдмреНрд▓рд┐рд╢рд┐рдВрдЧ рд╣рд╛рдЙрд╕, 1991