form_for не использует заглавные буквы - PullRequest
2 голосов
/ 27 марта 2011

Представление не имеет заглавных букв first_name и last_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"

Таким образом, я ожидаю, что в представлении имя_первого будет заглавным, но вместо этого, когда я редактирую профиль, оно отображается в нижнем регистре, я использую 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 Ответ

2 голосов
/ 27 марта 2011

почему вы храните только в нижнем регистре?Для этого есть причина?если вам действительно нужно использовать нижний регистр в бэкэнде, я предполагаю, что вы просто хотите использовать его для своей выгоды.если это так, вам не нужна ваша функция капитализации в вашем бэкэнде.это должно быть сделано в ПЕРЕДНЕМ КОНЦЕ (поскольку ваша причина использования заглавных букв - только для эстетики)

Этого легко достичь в css:

input {
  text-transform: capitalize;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...