J'ai une forme_for et je veux que toute valeur à l'intérieur de x.textfield apparaisse avec la première lettre de UPCASE (je parle de la modification où le champ de texte est pré-rempli par les valeurs de base de données). P>
4 Réponses :
Vous pouvez le capitaliser comme ceci:
<%= form_for ... do |f| %> <%= f.text_field :name, :value => f.object.name.capitalize %>
La solution de Pan Thomakos fonctionnera, mais si vous ne voulez pas avoir à ajouter Mettez cela quelque part dans votre chemin de charge, comme lib / capitalizing_form_forme_Form_Builder.rb p> utilisation: p> : valeur => f.object.name.capitaliser code> dans chaque champ de texte du formulaire, vous pouvez rechercher dans le formulaire. écrire votre propre formulaire.
Vous pouvez également faire cela dans l'action Créer / mettre à jour du contrôleur, comme indiqué ci-dessous
def create @user = User.new(params[:user]) @user.name = params[:user][:name].capitalize if @user.save #do something else #do something else end end
Ceci est découragé, car la logique de transformation des champs doit être placée dans les modèles: "Contrôleurs minces, modèles de graisse"
Vous avez raison mais ici pour la simplicité vient d'expliquer l'idée que vous pouvez capitaliser. C'est pourquoi il est préférable de placer des choses ensemble comme une image entière que ce qui se passe!
Vous pouvez le faire avec CSS ... P>
= f.text_field: quelque_attribute, style: 'Text-Transform: capitaliser;' code> p>