JavaFree.org | RubyOnBr.org

yields no application.html.erb

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

Avatar rrsilva 181 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 1421 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 181 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 1585 posts

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

 
Avatar Mereghost 1421 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 181 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 224 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 179 posts

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