2010-08-26 16 views
14

Czy istnieje sposób określenia wartości dla metody text_area, która zostanie umieszczona między wygenerowanymi znacznikami textarea?Ustawiona wartość RoR dla textarea

To jest przykład kodu, którego używam.

<% remote_form_for ... do |f| %> 
     <%= f.text_area :message %> 
     <%= f.submit 'Update' %> 
<% end %> 

Odpowiedz

19
<% remote_form_for ... do |f| %> 
     <%= f.text_area :message, :value => "my default value" %> 
     <%= f.submit 'Update' %> 
<% end %> 
4

FormHelper text_area metoda trwa drugi argument, aby określić metodę, która zwraca ciało textarea.

Z dokumentacji związanej powyżej:

text_area(:post, :body, :cols => 20, :rows => 40) 
    # => <textarea cols="20" rows="40" id="post_body" name="post[body]"> 
    #  #{@post.body} 
    # </textarea> 

    text_area(:comment, :text, :size => "20x30") 
    # => <textarea cols="20" rows="30" id="comment_text" name="comment[text]"> 
    #  #{@comment.text} 
    # </textarea> 

    text_area(:application, :notes, :cols => 40, :rows => 15, :class => 'app_input') 
    # => <textarea cols="40" rows="15" id="application_notes" name="application[notes]" class="app_input"> 
    #  #{@application.notes} 
    # </textarea> 

    text_area(:entry, :body, :size => "20x20", :disabled => 'disabled') 
    # => <textarea cols="20" rows="20" id="entry_body" name="entry[body]" disabled="disabled"> 
    #  #{@entry.body} 
    # </textarea> 
+0

Tak napisałbym metodę w kontrolerze, który zwraca treść textarea? – Brian

+0

@Brian Nie, twój model powinien sobie z tym poradzić. Na przykład użycie metody: text, wywoła metodę 'text' na twoim modelu wiadomości, zakładając, że @message zawiera instancję twojego modelu. Jak widać na przykładzie, 'text_area (: post,: ciało)' wywołuje metodę '@ post.body' –

+1

Well, dodałem metodę do mojego modelu jak tak def tekst_domyślny "testing" zakończyć Then <% =: komunikat: tekst_domyślny%> Ale pojawia się następujący błąd „niezdefiniowanej metody' seryjnej”dla: tekst_domyślny: symbol” – Brian

6

powinien być przy użyciu „zastępczy” atrybut HTML pokazujący domyślnych tekstów w polach HTML. Oto cały cel tego atrybutu. Sposób użycia go w ROR to: -

<%= f.text_area :message, :placeholder => "my default value" %> 
+0

Tego właśnie szukałem, dzięki! – Laser

+1

Spowoduje to umieszczenie symbolu zastępczego w polu tekstowym, ale nie może zostać przesłany jako parametr po przesłaniu formularza –

Powiązane problemy