Rails Guia d Bolso Sobr o Rails Guia d Bolso so o Ruby on Rails crca d um ano mio, o qu não é muito tmpo, s comparado com muitos d mus colgas onform minha paixão plo framwork pla linguagm crsciam, também aumntava mu aptit por mais conhcimnto Agora qu tnho aproximadamnt 12 livros sobr Ruby on Rails sobr Ruby, pnso havr vrdadira ncssidad d um guia d bolso para o Ruby on Rails Est livro não contém informaçõs novas, qu não possam sr facilmnt acssadas onlin ou m livros imprssos Não tm a intnção d dar uma nova luz à linguagm ou ao framwork É apnas uma tntativa d coltar o máximo possívl d informaçõs qu um típico dsnvolvdor d Rails como u pnso srão útis no diaadia Grand part do livro contém a documntação original do Rails, forncida por sua comunidad, além d anotaçõs xmplos mus d outras pssoas omçando ara vr s o Rails stá instalado m su computador, digit o sguint m um prompt d comando: rails vrsion 1
ma rsposta afirmativa sria similar a sta (xmplo do Rails 210 instalado m Mac OS X): Rails 210 RubyGms RubyGms é um grnciador d pacots para Ruby (http://rubygmsrubyforgorg) El foi criado por Jim Wirich (http://onstpbackorg) O grnciador instala os pacots do softwar Ruby como Rails os mantém atualizados É bm fácil aprndêlo usálo, mais fácil do qu frramntas como o utilitário nix/linux (http:// wwwgnuorg/softwar/tar) ou o utilitário jar do Java (http://java suncom/j2s/150/docs/tooldocs/windows/jar html) ara mais informaçõs, lia a documntação do RubyGms no ndrço http://docsrubygmsorg O RubyGms sr Guid (http:// docsrubygmsorg/rad/book/1) ofrc quas tudo o qu você prcisa sabr sobr a utilização do RubyGms m guia d comandos também stá disponívl (http://docsrubygmsorg/rad/book/2) g g s O R p f f Instalando o Rails com RubyGms O RubyGms é instalado com o Ruby, mas caso quira maiors informaçõs, consult o apítulo 3 do RubyGms sr Guid para instruçõs compltas sobr a instalação (http://rubygmsorg/rad/ chaptr/3) ara vr qual vrsão do RubyGms stá instalada, digit: gm vrsion ara obtr ajuda do RubyGms, você pod tntar: gm hlp ara visualizar uma lista d comandos para o RubyGms, digit: gm hlp commands ara vr xmplos d comandos com dscriçõs, digit: gm hlp xampls 2 Rails Guia d Rfrência
ara visualizar ajuda m um comando spcífico, digit: gm hlp [command] ara instalar ou atualizar o Rails (sudo xig uma snha root), digit: sudo gm install rails tilizando o Instant Rails m Windows O Instant Rails é uma solução basada m Windows para rodar o Ruby on Rails com Apach MySQL om o Instant Rails, você pod configurar facilmnt sua pasta raiz do Rails colocálo para funcionar Não há ncssidad d altrar o ambint do sistma ara instalar o Instant Rails criar uma aplicação chamada myapp, faça o sguint: 1 Baix dscompact o Instant Rails no ndrço http:// rubyforgorg/projcts/instantrails 2 rtifiqus d qu não haja caractrs d spaço no caminho d instalação, m sguida, inici o InstallRailsx 3 O Instant Rails irá dtctar qu stá sndo iniciado a partir d um novo dirtório prguntará s você qur rcriar os arquivos d configuração liqu m OK 4 liqu sobr o botão I para abrir o mnu principal Em sguida, slcion Rails Applications Manag Rails Applications 5 No ditor qu srá xibido, cliqu sobr o botão rat Nw Rails App 6 m consol srá abrto Digit rails myapp 7 Agora, fch a janla Rails onfiguration abraa novamnt, sguindo o passo 4 8 Agora, você vrá myapp na lista Rails Application liqu na caixa d slção próxima a la, m sguida, cliqu m Start with Mongrl 9 Abra um navgador acss http://127001:3000 10 Bm vindo a bordo! RubyGms 3
Dpndências Gm As dpndências Gm foram adicionadas no Rails 21 Isso significa qu as gms rquisitadas podm sr spcificadas no arquivo config/nvironmntrb, srão carrgadas automaticamnt quando a aplicação for iniciada or xmplo: Rails::Initializrrun do config # Espcificar as gms das quais dpnd sta aplicação # Elas podm sr instaladas com rak gms:install m novas instalaçõs configgm "bj" configgm "hpricot", :vrsion => '06', :sourc => "http://codwhythluckystiffnt" configgm "awss3", :lib => "aws/s3" Além disso, agora há uma tarfa rak, qu instala todos os config gms m su sistma d dstino: rak gms:install S você quisr insrir stas gms na origm d sua aplicação, podrá fazêlo com a tarfa rak gms:unpack: # Dsmpacotar todas as gms para vndor/gms rak gms:unpack Também é possívl dsmpacotar gms individuais: # Dsmpacotar somnt a gm hpricot para vndor/gms rak gms:unpack GEM=awss3 Esta ação irá dsmpacotar a gm para o dirtório vndor/gms/ awss3xxx, qu é buscado automaticamnt como part da inicialização d configgm ara construir gms com xtnsõs nativas, você pod utilizar a tarfa rak gms:build: rak gms:build # Ou construir uma gm spcífica rak gms:build GEM=awss3 omandos onfiguração do Rails r Q a p r r O ma vz qu o Rails stja instalado, o comando rails pod sr usado para grar novas aplicaçõs Rails com uma strutura d dirtórios padrão configuração no caminho spcificado 4 Rails Guia d Rfrência
ara criar uma aplicação Rails chamada myapp, digit: rails myapp Quando a aplicação funcionar, você vrá uma lista d dirtórios arquivos grada plo comando Esta é sua aplicação Rails A pasta principal é myapp, ou RAILS ROOT so Opçõs ara obtr ajuda para o comando rails, digit: rails hlp so rails [/caminho/para/sua/nomdaaplicacao] [opçõs] Opçõs r, ruby=path aminho para o binário Ruby d sua scolha d, databas=nam réconfigurado para uma bas d dados slcionada (por xmplo: mysql, Oracl, postgrsql, sqlit2, sqlit3) f, frz ongla o Rails m vndor/rails a partir das gms qu gram a fram v, vrsion Mostra o númro da vrsão Rails finaliza p, prtnd Roda mas não faz altraçõs forc Sobrscrv arquivos já xistnts s, skip ula arquivos já xistnts omandos onfiguraçõs do Rails 5
q, quit Suprim os dados d saída normais t, backtrac Dpuração; mostra um caminho d volta (backtrac) d rros c, svn Modifica arquivos com subvrsão (svn dv star no caminho) Estrutura d Arquivos Rails Após grar uma aplicação Rails, um dirtório uma strutura d arquivos padrão são criados Vja a Tabla 11 aminho app app/controllrs app/modls app/viws Dscrição ontém todo o código spcífico para sta dtrminada aplicação ontém as classs d controllrs qu dvm sr nomadas como usrs_controllrrb para mapamnto automatizado d RL Todos os controladors dvm sr dscndnts d Applicationontrollr, qu dscnd d Actionontrollr::Bas ontém os modlos qu dvm sr nomados, como productrb A maioria dos modlos dscnd d ActivRcord::Bas ontém os arquivos d tmplat para a visualização qu dv sr nomada, como usrs/indxhtmlrb para a ação srsontrollr indxtodas as visualizaçõs usam sintax Ruby app/viws/layouts ontém os arquivos d tmplat dos layouts qu dvm sr usados com as visualizaçõs Ests arquivos modlam o método comum d cabçalho/rodapé para mpacotar as visualizaçõs Em suas visualizaçõs, dfina um layout utilizando o layout :dfault, cri um arquivo chamado dfault htmlrb Dntro d dfaulthtmlrb, cham <%= yild %> para rndrizar a visualização utilizando st layout app/hlprs ontém classs auxiliars qu dvm sr nomadas, como usrs_hlprrb Ests hlprs são grados automaticamnt quando s utiliza script/gnrat para controladors Os hlprs podm sr usados para mpacotar funcionalidads d visualizaçõs dntro dos métodos onfig Arquivos d configuração para o ambint Rails, mapa d rotamnto, bas d dados, outras dpndências T p b r 6 Rails Guia d Rfrência
aminho db doc lib public script tst Vndor Dscrição onfigurando o Rails ontém o squma d bas d dados m schmarbdb/migrat; contém todas as squências d migraçõs para su squma Est dirtório armaznará a documntação d sua aplicação quando grada através d rak doc:app Bibliotcas spcíficas da aplicação Basicamnt, qualqur tipo d código prsonalizado qu não prtnça a controladors, modlos, ou auxiliars Est dirtório fica no caminho d carrgamnto Dirtório disponívl para o srvidor wb ontém subdirtórios para imagns, folhas d stilo JavaScripts ontém também os dispacthrs (dspachadors) os arquivos HTML padrão Dv sr configurado como DOMENT ROOT d su srvidor wb Scripts auxiliars para automação gração Tsts d unidad funcionais, além d fixturs Ao utilizar os scripts script/gnrat, os arquivos d tmplat d tsts srão grados para você insridos nst dirtório Bibliotcas xtrnas das quais a aplicação dpnd Também inclui o subdirtório d plugins Est dirtório fica no caminho do carrgamnto Toda aplicação Rails basias m sus arquivos d configuração para spcificar como a aplicação irá trabalhar Ests arquivos são ncontrados na pasta config: bootrb Arquivo d inicialização do Rails Tipicamnt, st arquivo não prcisa sr modificado routsrb Arquivo d configuração no qual as rotas são spcificadas nvironmntrb onfiguraçõs grais da aplicação Rails nvironmnts/dvlopmntrb onfiguraçõs spcíficas do ambint d dsnvolvimnto nvironmnts/tstrb onfiguraçõs spcíficas do ambint d tsts nvironmnts/productionrb onfiguraçõs spcíficas do ambint d produção S R I 2 D R E omandos onfiguraçõs do Rails 7
databasyml onfigura sua conxão com a bas d dados initializrs/inflctionsrb Adiciona novas rgras d inflxão à aplicação (isto é: plural, singular, irrgular, incontávl) initializrs/mim_typsrb Adiciona novos tipos mim para uso m blocos rspond_to (isto é, rtf ou ihon) initializrs/nw_rails_dfaultsrb Estas configuraçõs altram o comportamnto das aplicaçõs m Rails 2 srão configuraçõs padrão no Rails 3 Est arquivo srá rtirado no Rails 3 ara mais informaçõs sobr rotas, ambints configuraçõs d bass d dados, consult as sçõs dst livro rfrnts a sts assuntos Scripts O Rails vm com scripts auxiliars para automação gração d código tilizando sts scripts, os dsnvolvdors podm construir aplicaçõs rapidamnt, ao msmo tmpo m qu mantêm o control sobr o contúdo grado s O i a n I I l q d r D script/about Exib informaçõs sobr o ambint d sua aplicação: Ruby vrsion 186 (univrsaldarwin90) RubyGms vrsion 111 Rails vrsion 210 Activ Rcord vrsion 210 Action ack vrsion 210 Activ Rsourc vrsion 210 Action Mailr vrsion 210 Activ Support vrsion 210 Application root /srs/brry/sits/myapp Environmnt dvlopmnt O 8 Rails Guia d Rfrência
script/consol O consol lh dá acsso ao su ambint Rails, ond você pod intragir com o modlo d domínio Aqui, você irá configurar todas as parts d sua aplicação, da msma forma como la srá quando stivr funcionando Você pod inspcionar os modlos d domínio, altrar valors salválos na bas d dados Inici o consol com o script d consol: /script/consol Iniciar o consol sm argumntos fará com qu o consol rod utilizando o ambint d dsnvolvimnto ara sair do consol, digit: quit ou xit om a vrsão mais rcnt do Rails, você pod rcarrgar sus modlos controladors com o sguint comando: rload! ara rstar sua aplicação, digit: Dispatchrrst_application! so /script/consol [ambint] [opçõs] Opçõs s, sandbox Rpt as modificaçõs da bas d dados na saída irb=[irb] hama um irb difrnt DIA tilizar o consol m modo sandbox pod sr uma frramnta muito podrosa para o dsnvolvdor Rails or xmplo: s você criar um script qu atualiz todas as linhas d uma tabla, podrá fazr uma rodada d tsts primiro no modlo sandbox para vrificar os dados xistnts crtificars d qu as altraçõs corrtas foram scrip/consol 9
fitas S algo dr rrado, apnas saia do consol as altraçõs não srão ftivadas na bas d dados script/dstroy O script irá dstruir todos os arquivos criados plo comando script/gnrat corrspondnt or xmplo: script/dstroy migration ratost xcluirá o arquivo ###_crat_postrb corrspondnt m db/migrat, nquanto script/dstroy scaffold ost xcluirá o controlador as visualizaçõs da postagm, o modlo a migração da postagm, todos os tsts associados a linha maprsourcs :posts d confif/routsrb so /script/dstroy gnrator [opçõs] [args] Exmplo /script/dstroy controllr roducts rm app/hlprs/products_hlprrb rm tst/functional/products_controllr_tstrb rm app/controllrs/products_controllrrb rmdir tst/functional notmpty tst rmdir app/viws/products notmpty app/viws notmpty app notmpty app/hlprs notmpty app notmpty app/controllrs notmpty app script/gnrat Os gradors são usados para criar código instantâno qu srá utilizado m aplicaçõs Rails Ao rodar o grador (através do script/gnrat), novos arquivos (controllrs, modls, viws tc) são grados adicionados a sua aplicação Você também pod criar gradors prsonalizados ara mais informaçõs sobr gradors prsonalizados, assista ao Railscast d Ryan Bats no ndrço http://railscastscom/pisods/58 ara obtr mais ajuda sobr o script grador, digit: /script/gnrat hlp O c d v n c T l t t c I d a N c E 10 Rails Guia d Rfrência