1

rjust在辅助函数中使用如下:

def get_child_id(service_name, child_id)
  ..
  return 'FL' + child_id.to_s.rjust(6, "0");
end

该函数的调用方式如下:

<%= get_child_id(@ticket.service_type, @ticket.service_id) %>

并返回FL123456123456作为数据库值),而我期望FL000000123456

是数据库中的service_idINT列。

rjust以完全相同的方式在我的模型中使用它并且它工作正常,所以我不知道为什么它在这里不起作用,有什么想法吗?

4

2 回答 2

3

改用12

def get_child_id(service_name, child_id)
  # ...
  return 'FL' + child_id.to_s.rjust(12, "0");
end
于 2013-10-21T14:55:24.043 回答
2

试试这个

来自红宝石文档:-

 rjust(integer, padstr=' ') → new_str

如果整数大于 str 的长度,则返回一个长度为整数的新字符串,其中 str 右对齐并用 padstr 填充;否则,返回 str。

"hello".rjust(4)            #=> "hello"
"hello".rjust(20)           #=> "               hello"
"hello".rjust(20, '1234')   #=> "123412341234123hello"

这意味着您希望在案例 12 中填充超过 6。

于 2013-10-21T14:59:05.820 回答