рдкреЗрд╢ рд╣реИ рдПрдХреНрдЯрд┐рд╡ рд╕реНрдХреИрдлреЛрд▓реНрдб

рд╕рднреА рдХреЛ рд╢реБрдн рджрд┐рди! рдореИрдВ рдЖрдкрдХреЛ рд░реВрдмреА рдФрд░ рд░реЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрджреНрднреБрдд рдордгрд┐ (рдкреНрд▓рдЧрдЗрди) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдореБрдЭреЗ рд▓рдЧрднрдЧ рдЗрд╕рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ)ред

рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рдорд╛рдирдХ "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рдЬреЛрдбрд╝, рд╡рд┐рд▓реЛрдкрди, рд╕рдВрдкрд╛рджрди, рдЦреЛрдЬ, рдЫрдБрдЯрд╛рдИ рдФрд░ рдпрд╣ рд╕рдм рдЕрдЬрд╛рдХреНрд╕ (рдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛) рдХреЗ рд╕рд╛рдеред



рдРрд╕рд╛ рдЪрдорддреНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдЫ рд╕рд░рд▓ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

1. рдЬреЗрдордлрд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд▓рд╛рдЗрди рдлреЗрдВрдХреЛ
gem 'active_scaffold' 

2. рд░рддреНрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
 bundle install 

3. рд╕реНрдЯрд╛рдЗрд▓ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
 /*  /app/assets/stylesheets/application.css.scss *= require active_scaffold */ 

 //  /app/assets/javascripts/application.js //= require active_scaffold 

4. рд╣рдо рд▓рдХреНрд╖реНрдп рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
 class StuffsController < AuditorController active_scaffold :stuff end 

рд╡рд╣ рд╕рдм рд╣реИ! рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕рдХреНрд░рд┐рдп рд╕реНрдХреИрдлреЛрд▓реНрдб рд╕реНрд╡рдпрдВ рдЙрдкрдпреБрдХреНрдд рдореЙрдбрд▓ (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ - рд╕реНрдЯрдл) рдЙрдард╛рдПрдЧрд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореЙрдбрд▓ рдореЗрдВ рдЗрд╕рдХреЗ рдХреЙрд▓рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛, рдореЙрдбрд▓ рдореЗрдВ default_scope рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ) рдХреЗ рдЕрдиреБрд╕рд╛рд░ 15 (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдкрд╣рд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рд╕рд╛рде рд╣реА рдЙрд╕реА рд╕рдордп (HTML рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдЖрдкрдХреЛ JSON рдФрд░ XML рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ API рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рд╕рдХреНрд░рд┐рдп рд╕реНрдХреИрдлреЛрд▓реНрдб рд╕рдХреНрд░рд┐рдп_scaffold рдФрд░ active_scaffold_controller рдЬрдирд░реЗрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХреНрд░рдорд╢рдГ рдПрдХ рдореЙрдбрд▓ + рдорд╛рдЗрдЧреНрд░реЗрд╢рди + рдирд┐рдпрдВрддреНрд░рдХ + рдорд╛рд░реНрдЧ рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
 rails generate active_scaffold stub name:string value:integer precise:decimal occurs:date 


рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реИ:


ActiveScaffold I18n рдХреЗ рдорд┐рддреНрд░ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП Russification рдореЗрдВ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
 ru: activerecord: models: stub: one: "" few: "" many: "" other: "" attributes: stub: name: "" value: "" precise: "" occurs: "" created_at: "" updated_at: "" 



рдмрд╣реБрдд рд╢рд╛рдВрдд, рд╕рд╣реА?

рдпрджрд┐ рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдкреВрд░рдгреАрдп рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╕рдХреНрд░рд┐рдп рд╕рдВрджреЗрд╢ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдЖрдзрд╛рд░ рд╣реИред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг: рд╕рдХреНрд░рд┐рдп рдкрд╛рдбрд╝ рдореЙрдбрд▓ (рд╕рдВрд╕реНрдерд╛рдУрдВ) рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд░рд┐рдХреЙрд░реНрдб рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣:


рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд▓рдЧрдЗрди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб github рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░, рд╡рд┐рдХреА рдкрд░, рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рд▓реЗрдЦрди рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдереЛрдбрд╝рд╛ рдмрд┐рдЦрд░рд╛ рд╣реБрдЖ рдФрд░ рдХрднреА-рдХрднреА рдкреБрд░рд╛рдирд╛)ред рдпрджрд┐ рд╕рднреА рд╕рдорд╛рди рд╣реИрдВ, рддреЛ рдХреБрдЫ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ рдпрд╛ рдХреБрдЫ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд▓рд╛рдЗрд╡ Google рд╕рдореВрд╣ рд╣реИ , рд╡рд╣рд╛рдВ рджреЗрдЦреЗрдВ рдпрд╛ рдкреВрдЫреЗрдВ, рд╡реЗ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗ (рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди рджреЗрдЦреЗрдВ , рд╕рд╣реА рд╣реИ?)

рд╕рд╛рд░рд╛рдВрд╢


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

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

рд╡рд╣ рд╕рдм рд╣реИред рдЖрдкрдХреЛ рд╡рд┐рдХрд╛рд╕ рдореБрдмрд╛рд░рдХ рдФрд░ рд╡реНрдпрд░реНрде рдореЗрдВ рдЕрдкрдиреА рджрд┐рдирдЪрд░реНрдпрд╛ рдмрд░реНрдмрд╛рдж рди рдХрд░реЗрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрджреНрднреБрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЙрд╕рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рдереЗред рдФрд░ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдкрд░ рд▓реМрдЯрдирд╛ рдордд рднреВрд▓рдирд╛ред (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдЕрдм рдЗрддрдиреЗ рдЫреЛрдЯреЗ рд░рд┐рдЯрд░реНрди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛)

Source: https://habr.com/ru/post/In147076/


All Articles