我有一个设计用户模型,我问他们的部分信息是他们的5位邮政编码。如果他们的邮政编码是08601,那么当他们去编辑他们的用户设置时,他们会看到他们的邮政编码为8601,前面没有0。有没有办法格式化设计帐户设置中显示的邮政编码(类似“%05d”)?以下是我到目前为止在该领域所拥有的内容:
<div class="form-group">
<%= f.label :zip_code %><br />
<%= f.text_field :zip_code, class: "form-control", autofocus: true %>
</div>
由于
答案 0 :(得分:1)
问题可能出在您的数据库列数据类型
中由于您在表单中使用了邮政编码,我认为您已将数据库中的zip_code列用作整数,这就是您获取此邮件的原因。将列的数据类型更改为字符串,然后尝试保存数据。
如果要保留数据类型整数
如果这样做,您需要在每次使用时将zip_code更改为字符串,并在zip_code之前添加00。这不是编程的好方法,可能会在以后出现问题。
但您可以在模型中执行此操作
def self.zip_code_string
@zip = self.zip_code.to_s
"00"+@zip
end
显示或使用
@user.zip_code_string
将起作用