Dúvida render(?) ruby on rails

1 resposta
RChaves
Estou começando agora em rails, basicamente não sei quase nada, estou futicando para aprender, e uma dúvida que tive que não consigo resolver eh o seguinte: Eu tenho uma página principal (home) que é basicamente uma tabela assim:
<table>
  <tr>
    <td colspan="2">
      Titulo
    </td>
  </tr>
  <tr>
    <td>
      Menu
    </td>
    <td>
      Conteúdo
    </td>
  </tr>
</table>
Só que eu quero que o título o menu e o conteúdo sejam outros arquivos no meu projeto, o título e o menu eu consegui utilizando o seguinte
<%= render 'titulo' %>
e
<%= render 'menu' %>

Com isso, eu crio um arquivo dentro de views/home chamado _titulo.html.erb e outro chamado _menu.html.erb
tudo bem, mas o q eu não consigo, é dar render no controller clientes, por exemplo (sabe? 'localhost:3000/clientes' eu quero q o q aparece nessa página apareça dentro da table), e não estou conseguindo, se alguém puder me ajudar eu agradeço muito ^^

Não precisa, mas se puder, será que alguém poderia me explicar qual é a desse comando render? Qual a 'lógica' dele? Pra que foi feito e como funciona?

1 Resposta

victorcosta

Render quando só passa uma string é o mesmo que render(:partial => ‘string’), o que esse método faz é retornar uma string com o html gerado por essa página reusável (que deve ter _ como prefixo no nome)

O que você precisa é usar layouts
Basicamente você vai criar um arquivo chamado ‘application.html.erb’ dentro de ‘views/layouts’ e colocar essa table e ‘<%= yield %>’ (esse yield vai ser substituido pelo o que cada action renderizar)

Tem bem mais coisa com layouts, você pode aprender aqui:

http://railscasts.com/episodes/7-all-about-layouts
http://railscasts.com/episodes/8-layouts-and-content-for

Criado 29 de setembro de 2009
Ultima resposta 29 de set. de 2009
Respostas 1
Participantes 2