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

How to make an If inline using ERB template

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

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

我觉得很丑。

所以我尝试了以下方法:

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

但是没有用。

我怎样才能使这个 if...else 语句起作用?

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

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

我知道你问的是语法问题,但请使用 text helper built in to Rails 而不是写 if...else 语句。

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

当然,Rails默认支持英文词形变化,但是you can add support for other languages. And here's a gist that adds Portuguese inflections