如何使用ERB模板制作If内联

时间:2017-05-25 20:39:21

标签: ruby-on-rails ruby erb

我想在我的模板中创建一个简单的if...else语句。 这是我目前的解决方案:

<%if @collections.size > 1 %>
 coleções
<% else %>
  coleção
<% end %>

我想这很难看。

所以我尝试了以下内容:

<% @collections.size > 1 ? 'coleções' : 'coleção' %>

但它不起作用。

如何使if...else声明有效?

2 个答案:

答案 0 :(得分:11)

你错过了等号=。如果你想渲染某些东西,你需要它。

<%= @collections.size > 1 ? 'coleções' : 'coleção' %>

答案 1 :(得分:1)

我知道您在询问语法,但请使用text helper built in to Rails而非撰写if...else语句。

<%= pluralize(@collections, 'coleção') %>

当然,Rails默认支持英语变形,但是you can add support for other languages。并here's a gist that adds Portuguese inflections