JavaFree.org | RubyOnBr.org

yields no application.html.erb

Acompanhar yields no application.html.erb 8 posts, 5 participantes

Avatar rrsilva 157 posts

Eu imagino que o “yield :dash” vai executar o código na condição unless, e depois vai executar o código novamente no print do mesmo. Alguma forma de evitar isto?

 
Avatar Mereghost 1307 posts

Isso são indicações do content_for.

Se yield :dash for nil ou false, ele renderiza nav2 ou title num h2, o que for não falso-nulo antes.

 
Avatar rrsilva 157 posts

Exato

vou postar o código inteiro do application.html.erb

A minha duvida é a seguinte, se eu tiver um render partial no content_for do :dash, ou mesmo outros códigos. Pelo log do Rails, eu verifico que ele executa o bloco do :dash duas vezes. Ou seja, não teria uma forma de verificar se o bloco :dash existe sem executa-lo?

 
Avatar Fernando Luizão 1356 posts

Não testei, mas será que não dá pra fazer algo como isso?

 
Avatar Mereghost 1307 posts

Não exatamente para resolver seu problema, mas para limpar sua view um cadinho, transforma esse treco num helper:

application_helper.rb

 
Avatar rrsilva 157 posts

OK, Colocando o código no helper e utilizando o código do Fernando, deu para solucionar o problema com o operador ||=

Obrigado!

 
Avatar pestana 191 posts

Olá pessoal, no código do nosso amigo ai, tem uns código como:

acredito q o nome do arquivo seja o mesmo q é chamado, ex: nav2.html.erb, certo? e em qual o diretório ele fica?

Grato,

Pestana

 
Avatar Flavio Duarte 178 posts

você está confundindo pestana, o que é passado para o yield é através do content_for por exemplo