Rails para designers
by Ricardo Yasuda on September 04, 2008 18:42
Posted in Rails
Este post é para designers que pretendem trabalhar com Rails e querem um guia inicial para poderem se dar bem com o programador. É bem introdutório, então muita gente que já conhece Rails vai falar ‘putz, isso é muito básico’. E é mesmo. Mas pra quem não manja nada de programação vai ajudar. Vou falar de MVC, a estrutura do Rails e também sobre partials e helpers (um pouco mais avançado).
MVC
MVC quer dizer ‘Model, View, Controller’ e é um jeito de separar as camadas de um sistema. O que vai interessar a você são as Views, que são o front-end do sistema. Você não vai ter que ficar olhando aquele código enorme de programação antes do seu HTML. Talvez nem no meio. Só para complementar, no Model são implementadas as regras de negócio do sistema e as conexões com o banco de dados, e no Controller a lógica de processamento, ou seja, a intermediação do Model com as Views. É no controller que as variáveis que serão usadas nas Views são geradas.
Estrutura do Rails
Para facilitar a sua vida, todos os arquivos que você precisará editar estão ou em app/views/ ou em public/.
Existem duas estruturas básicas para as URLs em Rails, uma seguindo o padrão REST e outra que era padrão até o Rails 1.2. Você não precisa saber exatamente o que é REST, mas precisa saber qual view editar. Qualquer dúvida, pergunte ao programador se ele está usando alguma rota específica ou fora do padrão. Para não complicar muito, digamos que o seu sistema segue o padrão REST (ou seja, é RESTful):
http://dominio.com/posts/1
Segundo o padrão REST do Rails, o controller posts vai chamar a action ‘show’, portanto o arquivo que você terá que editar será o app/views/posts/show.html.erb
Já se a URL for
http://dominio.com/posts/new
o arquivo será app/views/posts/new.html.erb
Public
No diretório public/ estão todos os artefatos que você normalmente usa numa página web: imagens, estilos, JavaScript, Flash, cada um no seu respectivo diretório:
- public/images
- public/stylesheets
- public/javascripts
E para chamá-los é só imaginar o diretório public/ como a raiz do seu domínio, por exemplo
<img src="/images/logo.jpg" />
ou usando um helper do Rails:
<%= image_tag 'logo.jpg' %>
Veja que você não precisa declarar o diretório images, o Rails já sabe que tem que buscar lá.
Layouts
Bom, layouts são basicamente templates. Eles estão em app/views/layouts. É onde você inclui elementos comuns de um site, como topo, rodapé e o conteúdo principal vai no meio. Aquilo que vai no meio da página é o conteúdo das views e tudo em volta faz parte do layout. Bem, então como eu coloco esse conteúdo das views? É só incluir a tag <%= yield %> onde você quiser que ele apareça.
O padrão no Rails é que seja renderizado o layout com o mesmo nome do controller. Se esse layout não existir, app/views/layouts/application.html.erb é utilizado.
Um arquivo .html.erb é como se fosse um arquivo HTML normal, só que com algum código Ruby embutido (ERb é embedded ruby).
Vamos ver um exemplo de layout:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
Veja, parece um HTML normal, que você já está acostumado a ver e escrever. Vamos ver alguns detalhes:
@title aqui é uma variável, que vai estar definida em algum controller. Se ela não existir, será usada a string “Título”. O || quer dizer ‘ou’.
<%= stylesheet_link_tag ‘site’ >
<= javascript_include_tag ‘application’, ‘prototype’, ‘effects’ %>
Estas são os helpers no Rails para inclusão de CSS e JavaScript. No caso, eles vão automaticamente gerar uma tag para /stylesheets/site.css e tags para os arquivos /javascripts/application.js, /javascripts/prototype.js e /javascripts/effects.js.
Existem muitos outros helpers que podem ajudar você (e o programador) a gerar código HTML. Para mais informações, consulte a API do Rails.
Partials
Vejamos esta chamada:
<%= render :partial => ‘shared/header’ %>
Já viu no PHP algo assim?
<?php include ‘header.php’;?>
Então, é parecido. São pequenos pedaços de HTML que são comuns a várias páginas que você gostaria de reutilizar. Aliás esse é um dos princípios do Rails: DRY (Don’t Repeat Yourself). O arquivo que ele vai chamar tem que ter um ‘\_’ na frente, no caso app/views/shared/_header.html.erb.
DISCLAIMER: este artigo é inspirado e muito baseado neste post (embora não seja uma tradução literal): http://glu.ttono.us/articles/2006/03/21/rails-for-designers
Tags: rails, designers, ActionView, helpers, partials, mvc, layouts
You may also like:
- RailsConf 2011, here I go
- #win
- RubyConf Brasil, vá de bike
- Migrando senhas com Authlogic
- Últimos eventos

