form_for没有大写

时间:2011-03-27 09:21:13

标签: ruby-on-rails capitalization

视图doesen't大写first_name和last_name。它们都在db中以小写形式存储。 在模型中,我有以下get_name用于first_name和last_name:

def first_name
    string_to_return = read_attribute(:first_name)
    return string_to_return.capitalize if string_to_return != nil && !string_to_return.strip.empty?
    return "N/A"

所以我希望在视图中first_name显示为大写,但是当我编辑配置文件时它显示为小写,我使用form_for,代码如下:

<%= form_for(@profile, :url=>{:action=>'update'}, :html => {:multipart => true}) do |f| %>
 <div class="field">
    <%= f.label :first_name %><br />
    <%= (f.text_field (:first_name)).capitalize %>
  </div>
  <div class="field">
    <%= f.label :last_name %><br />
    <%= (f.text_field (:last_name))%>
  </div>
<%end%>

我尝试了所有括号的组合而没有成功,我尝试使用并且不使用视图中的大写函数,但结果总是相同的:DOWNCASE

有什么建议吗? TNX

1 个答案:

答案 0 :(得分:2)

为什么你只用小写字母存储?是否有一个原因?如果你真的不得不在后端,我假设你只想在前端利用。如果是这种情况,您的后端不需要使用大写功能。它应该在FRONT END中完成(因为你的资本化理由只是为了美学)

可以通过以下方式在css中轻松实现:

input {
  text-transform: capitalize;
}