2012-10-25 16 views
5

So habe ich dieses TextfeldWie kann ich die Länge eines text_field in Rails ändern?

<%= f.text_field :body, placeholder: "Make an offer ", :maxlength=>"254" %> 

jetzt es bis zu 100% der Breite der Box nimmt es in ist. Ich mag es wie 95% zu übernehmen. Bisher habe ich versucht (aus anderen Forumsbeiträgen)

Hinzufügen :columns => "50" das hat es nicht beeinflusst. Ich habe versucht, auf ein HTML-Tag setzen, :html => { :id => "offer_form" } und dann in meiner CSS-Datei setzen

#offer_form { width:50%;} 

dies nicht

funktioniert hat

andere Vorschläge?

edit:

Ich erkannte, dass ich in meiner CSS-Datei unter/Formen haben/

input, textarea, select, .uneditable-input { 
    border: 1px solid #bbb; 
    width: 98%; 
    padding: 10px; 
    height: auto !important; 
    margin-bottom: 15px; 

} 

und wenn ich die Breite ändern es funktioniert. aber es betrifft (offensichtlich) alle Formulare in der gesamten App (dh sie sind alle 98%). Gibt es eine Möglichkeit, dass ich nur dieses Feld erkennen kann, damit ich seine Breite unabhängig bearbeiten kann.

Antwort

4

Verwenden Sie CSS. Die Breite des Felds hängt nicht mit seinen maximalen Zeichen zusammen.

input.body { 
    width:95%; 
} 
+0

text_field, die es nicht beeinflußte. Gibt es noch andere Codes, die ich Ihnen zeigen könnte, die Ihnen helfen könnten? –

+0

Dieser Code wird wahrscheinlich * nicht beeinflussen, es sei denn, Ihr '' hat zufällig eine Klasse von 'Körper'. Sie sollen das CSS auf * Ihre spezifischen * Klassen/Identifikatoren anwenden. – meagar

+0

ohh ok. Ich denke, ich weiß was vor sich geht. Ich habe meine Frage bearbeitet –

15

:size=>"50" Option hinzufügen

<%= f.text_field :body, :size=>"50", placeholder: "Make an offer ", :maxlength=>"254" %> 
+0

, die mir eine undefinierte Methode "Größe" Fehler geben. Irgendeine Idee warum? Ich dachte, Größe wäre nur eine CSS-Qualität. –

+2

Wenn du diesen Fehler bekommst, liegt es daran, dass du das ':' weggelassen hast. Es ist ': size', nicht' size'. Diese Antwort könnte Ihr Textfeld verkleinern, aber wenn Sie Ihr Textfeld wirklich zu 95% der Breite des übergeordneten Elements gestalten möchten, kann Ihnen das möglicherweise nicht helfen. Sie benötigen CSS. – meagar