连接两列并在轨道上显示红宝石



我只想在一列中显示两列。我在产品表中有鳕鱼和编号。我想在同一列中显示 cod + 数字并在前面添加 0。例如:鳕鱼AAA,第12号。那么必须显示 AAA012。如果数字少于 3 个"字符"(xxx),则必须添加"cero"。我有这样的东西,但不起作用

def to_label
  "#{cod}-#{number}"
end

更新

<% @items.each do |item| %>  
  <td><%= item.cod %></td>  
  <td><%= item.num %></td>  


在本节中,您可以看到这两个字段。我需要在一列中显示并添加 ceros,具体取决于数字 (12, 012/1, 001)。希望你理解..

您可以使用

rjust用零填充数字。

def to_label
  "#{cod}#{number.to_s.rjust(3, '0')}"
end

编辑:

或者,如果您喜欢没有rjust的更简洁的版本:

def to_label
  "#{cod}#{'%03d' % number}"
end

我想你应该简单地调用to_label方法:

<% @items.each do |item| %>
  <%= item.to_label %>
  <!-- ... -->
<% end %>

最新更新