我只想在一列中显示两列。我在产品表中有鳕鱼和编号。我想在同一列中显示 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 %>