Mini-curso de Ruby on Rails – Parte 3
Exibição de datas, validações, RSS e conhecendo os conceitos de layout do framework
Nos artigos anteriores, vimos como criar nosso primeiro scaffold e como trabalhar com relacionamentos simples. No artigo dessa edição, conheceremos como exibir datas, trabalhar com validações de campos e como fazer um feed RSS para nosso blog.
Exibição de datas
Por padrão, os scaffolds do Rails criam duas colunas relacionadas a data. Uma coluna chamada ‘created_at’ e outra chamada ‘updated_at’, que são campos do tipo datetime. Esses campos são responsáveis por preencher automaticamente a data de criação e atualização de um registro, sem necessidade do desenvolvedor especificar isso em momento algum.
Para exibir a data de um registro, basta exibir o valor desse campo em sua view. No caso do nosso sistema de blog, abra a view responsável por listar os posts (/app/views/post/index.erb.html) e insira o valor do campo created_at. O resultado será a Listagem 1.
Listagem 1. Arquivo /app/views/posts/index.html.erb
<h1>Primeiro Projeto</h1>
<% for post in @posts %>
<h2><%= link_to post.title, post %></h2>
<h3><%= post.created_at %></h3>
<p>
<%=h post.body %>
<small>
<%= link_to 'Edit', edit_post_path(post) %> - <%= link_to 'Destroy', post, :confirm => 'Are you sure?', :method => :delete %>
</small>
</p>
<% end %>
<br />
<%= link_to 'New post', new_post_path %>
A novidade frente ao código da segunda coluna está na linha 4. O campo created_at é exibido dentro de um cabeçalho <h3>. Entretanto, a data é retornada no formato: “2008-08-17 17:16:48 UTC”. Isso não é muito amigável, não? Então vamos exibir a data como já estamos habituados, no formato DD/MM/AA HH:MM. Para isso vamos utilizar o método strftime do Ruby, responsável por quebrar e formatar uma data. Substitua então a linha 4 de nossa view por:
<h3><%= post.created_at.strftime("Criado em %d/%m/%Y %H:%M") %></h3>Podemos formatar uma data de várias formas, inclusive inserindo um texto junto a ela. Agora, a data é exibida desse modo: “Criado em 17/08/2008 17:16”. Cada caractere vindo depois do símbolo de porcentagem retorna uma parte da data. Confira na Tabela 1 como formatar as principais unidades de tempo.
Tabela 1. Formatando unidades de tempo.
| %a | o dia da semana abreviado (‘sun’) |
| %A | o dia da semana (‘sunday’) |
| %b | o mês abreviado (‘aug‘) |
| %B | o mês (‘august’) |
| %d | o dia do mês (01...31) |
| %H | a hora do dia, no formato 24 horas (00...23) |
| %I | a hora do dia, no formato 12 horas (01...12) |
| %j | o dia do ano (1...366) |
Confira outros conteúdos:
Programador Mobile
Desenvolvimento de aplicativos para...
Conceitos básicos para programar para...
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.