Prepare for Rails 2.0: Renaming
Появата на rails 2.0 наближава и първата preview версия вече е факт. С нея, както му е редът, идват и множество съществени промени, част от които изискват изцяло нов подход на писане, а други по същество са по-скоро досадни изменения в името на конвенциите.
Една от промените, с които неминуемо ще се сблъскате при мигриране към rails 2.0, са новите правила за именуване на view-тата, описани със следния changeset:
Changeset 6178
Added .erb and .builder as preferred aliases to the now deprecated .rhtml and .rxml extensions [Chad Fowler]. This is done to separate the renderer from the mime type. .erb templates are often used to render emails, atom, csv, whatever. So labeling them .rhtml doesn’t make too much sense. The same goes for .rxml, which can be used to build everything from HTML to Atom to whatever. .rhtml and .rxml will continue to work until Rails 3.0, though. So this is a slow phasing out. All generators and examples will start using the new aliases, though.
Е, преименуването на една дузина файлове едва ли е любимо занимание за когото и да било. Като се сетя как view-тата могат да нарастнат до над 100-тина бройки за нормален проект започва да ме хваща яд на чак толкова стриктното следване на правилата.
Все пак rails е достатъчно разширяема платформа и лесно решение на “проблема” можете да намерите в използването на rake. Ако досега не сте писали rake tasks и Ви е интересно как стават нещата – вижте този screencast. Накратко – в директория lib/tasks на проекта, който искате да мигрирате към rails 2.0, създайте файл на име views.rake със следното съдържание:
namespace 'views' do desc 'Renames all .rhtml views to .html.erb, .rjs to \ .js.rjs, .rxml to .xml.builder and .haml to .html.haml' task 'rename' do Dir.glob('app/views/**/[^_]*.rhtml').each do |file| puts `svn mv #{file} #{file.gsub(/\.rhtml$/, '.html.erb')}` end Dir.glob('app/views/**/[^_]*.rjs').each do |file| puts `svn mv #{file} #{file.gsub(/\.rjs$/, '.js.rjs')}` end Dir.glob('app/views/**/[^_]*.rxml').each do |file| puts `svn mv #{file} #{file.gsub(/\.rxml$/, '.xml.builder')}` end Dir.glob('app/views/**/[^_]*.haml').each do |file| puts `svn mv #{file} #{file.gsub(/\.haml$/, '.html.haml')}` end end end
Download views.rake (0,7 KB)
След това остава само от началната директория на проекта да изпълните следното, за да преименувате всички файлове, съгласно изискванията:
$ rake views:rename
Тъй rake е писан на ruby горният task ще работи на всяка система, на която може да работи и rails, което Ви отървава от shell-скриптове и подобни заобикалки.
Маркери: rails, tips
За тази статия
В момента четете "Prepare for Rails 2.0: Renaming", статия в stinger's thoughts
Отпечатване на статията
- Публикувана на:
- 02.10.2007 в 18:16
- Категория:
- Web Development
- Изпращане:
- Изпрати чрез email
Категории
- Books (10)
- Linux/UNIX (66)
- Movies (32)
- Music (70)
- Web Development (57)
- Други (180)






















IE8 Webslice
RSS с публикации
Няма коментари
RSS с коментaрите