8 posts, 4 participantes
Estou querendo fazer um helper para tabela. Estou fazendo da seguinte forma: def tabela(&block) s = '' t = concat(s, block.binding) t << ' def tabela(&block) s = ‘’ t = concat(s, block.binding) t << ‘’ end Estou chamando ele assim: <% tabela do %> teste teste2 <% tabela do > teste teste2 < end %> Porém ele esta gerando este código html Como eu faço para aparecer o conteúdo do bloco? E estou trabalhando da forma correta? vlw 256 semanas atrás Shairon Toledo 1428 posts Deve ser o yield faltando ai antes da última concatenação def tabela(&block) s = '' t = concat(s, block.binding) yield t << ' def tabela(&block) s = ‘’ t = concat(s, block.binding) yield t << ‘’ end 256 semanas atrás Roberto Soares 69 posts Tenta assim: def tabela(&block) concat "", block.binding yield concat '', block.binding end 256 semanas atrás Marcelo Júnior 811 posts Grande Shairon. Era isso mesmo…. vlw!!! 256 semanas atrás Marcelo Júnior 811 posts Cara, funcionou das 2 formas. Pergunto: O q q o yield fez ali? vlw! 256 semanas atrás Marcelo Júnior 811 posts Outra pergunta. Como q o concat trabalha. Eu pensei que ele fazia algo como uma concatenação entre o 1° parametro com o segundo, mas nesse 2° exemplo q vc me passou, ele concatena o bloco com a tag table, faz um yield, e depois concatena o bloco com a tag table fechada. Essa eu não entendi. Poderia me explicar. Vlw 256 semanas atrás Mereghost 1476 posts O yield está chamando o conteúdo do bloco que você está passando. 256 semanas atrás Roberto Soares 69 posts Sobre sua dúvida: O concat trabalha com a saída do erb, então escrever: <%= "<table>" %> é como escrever: concat "", block.binding Já o yield é o mesmo que chamar block.call. Sobre seu problema: Dá uma olhada aqui: Helper for quicly creating standard tables e aqui: table_for erb template Índice → Perguntas e Respostas → Pesquisa Participantes Marcelo Júnior Shairon Toledo Roberto Soares Mereghost
Estou chamando ele assim: <% tabela do %> teste teste2 <% tabela do > teste teste2 < end %>
Porém ele esta gerando este código html Como eu faço para aparecer o conteúdo do bloco? E estou trabalhando da forma correta? vlw 256 semanas atrás Shairon Toledo 1428 posts Deve ser o yield faltando ai antes da última concatenação def tabela(&block) s = '' t = concat(s, block.binding) yield t << ' def tabela(&block) s = ‘’ t = concat(s, block.binding) yield t << ‘’ end 256 semanas atrás Roberto Soares 69 posts Tenta assim: def tabela(&block) concat "", block.binding yield concat '', block.binding end 256 semanas atrás Marcelo Júnior 811 posts Grande Shairon. Era isso mesmo…. vlw!!! 256 semanas atrás Marcelo Júnior 811 posts Cara, funcionou das 2 formas. Pergunto: O q q o yield fez ali? vlw! 256 semanas atrás Marcelo Júnior 811 posts Outra pergunta. Como q o concat trabalha. Eu pensei que ele fazia algo como uma concatenação entre o 1° parametro com o segundo, mas nesse 2° exemplo q vc me passou, ele concatena o bloco com a tag table, faz um yield, e depois concatena o bloco com a tag table fechada. Essa eu não entendi. Poderia me explicar. Vlw 256 semanas atrás Mereghost 1476 posts O yield está chamando o conteúdo do bloco que você está passando. 256 semanas atrás Roberto Soares 69 posts Sobre sua dúvida: O concat trabalha com a saída do erb, então escrever: <%= "<table>" %> é como escrever: concat "", block.binding Já o yield é o mesmo que chamar block.call. Sobre seu problema: Dá uma olhada aqui: Helper for quicly creating standard tables e aqui: table_for erb template Índice → Perguntas e Respostas → Pesquisa Participantes Marcelo Júnior Shairon Toledo Roberto Soares Mereghost
Como eu faço para aparecer o conteúdo do bloco? E estou trabalhando da forma correta?
vlw
Deve ser o yield faltando ai antes da última concatenação def tabela(&block) s = '' t = concat(s, block.binding) yield t << ' def tabela(&block) s = ‘’ t = concat(s, block.binding) yield t << ‘’ end 256 semanas atrás Roberto Soares 69 posts Tenta assim: def tabela(&block) concat "", block.binding yield concat '', block.binding end 256 semanas atrás Marcelo Júnior 811 posts Grande Shairon. Era isso mesmo…. vlw!!! 256 semanas atrás Marcelo Júnior 811 posts Cara, funcionou das 2 formas. Pergunto: O q q o yield fez ali? vlw! 256 semanas atrás Marcelo Júnior 811 posts Outra pergunta. Como q o concat trabalha. Eu pensei que ele fazia algo como uma concatenação entre o 1° parametro com o segundo, mas nesse 2° exemplo q vc me passou, ele concatena o bloco com a tag table, faz um yield, e depois concatena o bloco com a tag table fechada. Essa eu não entendi. Poderia me explicar. Vlw 256 semanas atrás Mereghost 1476 posts O yield está chamando o conteúdo do bloco que você está passando. 256 semanas atrás Roberto Soares 69 posts Sobre sua dúvida: O concat trabalha com a saída do erb, então escrever: <%= "<table>" %> é como escrever: concat "", block.binding Já o yield é o mesmo que chamar block.call. Sobre seu problema: Dá uma olhada aqui: Helper for quicly creating standard tables e aqui: table_for erb template Índice → Perguntas e Respostas → Pesquisa Participantes Marcelo Júnior Shairon Toledo Roberto Soares Mereghost
Tenta assim:
Grande Shairon. Era isso mesmo….
vlw!!!
Cara, funcionou das 2 formas.
Pergunto: O q q o yield fez ali?
vlw!
Outra pergunta. Como q o concat trabalha. Eu pensei que ele fazia algo como uma concatenação entre o 1° parametro com o segundo, mas nesse 2° exemplo q vc me passou, ele concatena o bloco com a tag table, faz um yield, e depois concatena o bloco com a tag table fechada. Essa eu não entendi. Poderia me explicar.
Vlw
O yield está chamando o conteúdo do bloco que você está passando.
Sobre sua dúvida:
O concat trabalha com a saída do erb, então escrever: <%= "<table>" %>
é como escrever: concat "", block.binding Já o yield é o mesmo que chamar block.call. Sobre seu problema: Dá uma olhada aqui: Helper for quicly creating standard tables e aqui: table_for erb template Índice → Perguntas e Respostas → Pesquisa Participantes Marcelo Júnior Shairon Toledo Roberto Soares Mereghost
Já o yield é o mesmo que chamar block.call.
Sobre seu problema:
Dá uma olhada aqui: Helper for quicly creating standard tables e aqui: table_for erb template
Pesquisa