2010-01-09 19 views
0

J'essaie de dire à ruby ​​de ne pas lancer un bloc de html et ruby ​​si aucun enregistrement actif n'existe dans la base de données. Ci-dessous le code que j'essayais d'utiliser.Simple question sur un bloc if dans Ruby on Rails

<% if @statemant.comments.exists?() do %> 
<div id="comments"> 
<h2>Comments</h2> 
<%= render :partial => @statemant.comments %> 
</div> 
<% end %>  
+0

Quel est le problème, est-ce que cela n'affiche pas le rendu? –

+0

Il semble ne pas mettre fin à l'instruction do. –

+1

Le rendu: la ligne partielle semble suspecte. Est-ce que cela fonctionne pour vous? – user94154

Répondre

6

Vous devez vous débarrasser de la do de votre déclaration if (vous pouvez le cas échéant le remplacer par then). do est utilisé pour les blocs. if n'est pas une fonction, donc il ne prend pas un bloc.

+0

Merci. C'est ce qu'il a fait. J'aurais dû savoir si ne nécessite pas une déclaration de faire. –

+0

Pour référence, 'then' est requis si la condition précède le bloc sur la même ligne. – EmFi

+0

@EmFi Pouvez-vous donner un exemple s'il vous plaît? Merci. –