我怎样才能在
这是我的桌子:

|products|
    int   varchar(10)
   |id|  |num_product|
     1      0040

|customers|
   int   varchar(255)
   |id|    |name|     |state|
     1      ABC          0
     2      DEF          0
     3      GHI          0
     4      JKL          1

这是控制器:
def new
  @customer = Customer.find(params[:id])
  @num= Product.first
  @other_value = Customer.count(:conditions=>['state=0'])
end

我的观点是:
<% (@num.num_product)+@other_value %>

但它返回00403而不是0043。我试过了,但是我没有试过:
<% (@num.num_product.to_i)+@other_value.to_i %>

我也试过,但不是正确的方法:
<% "000"+(@num.num_product.to_i)+@other_value.to_i %>

有人能帮我吗?

最佳答案

你为什么不:

"%04d" % (@num.num_product.to_i + 1)

如果@num.num_product #=> "0040"则:
"%04d" % ('0040'.to_i + 1)
=> "0041"

10-08 12:37