加入两列并在rails上显示ruby

时间:2014-12-09 14:18:10

标签: ruby-on-rails ruby

我只想在一个列中显示两列。 我在产品表中有鳕鱼和数字。 我想在同一列中显示cod + number并在之前添加0。例如:cod AAA,number 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)。希望你能理解..

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可以使用rjust用零填充数字。

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

编辑:

或者如果你想要一个没有rjust的更简洁的版本:

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