2010-02-12 10 views
27

Sto cercando di creare pulsanti ala Wufoo (Rediscovering the button element)C'è un modo con il modulo di rotaie di supporto per la produzione di un tag tasto per presentare

vorrei scrivere il seguente codice come il seguente:

<%form_tag search_path, :method => :get, :class => 'search' do %> 
    <%=text_field_tag :search, params[:search] -%> 
    <%=button_tag 'search', :name => nil-%> 
<%end%> 

Per generare il seguente codice HTML (invece che l'ingresso [type = "submit"] tag)

<button type="submit" class="positive"> 
    <img src="/images/icons/tick.png" alt=""/> 
    Save 
</button> 

esiste un metodo esiste già? O dovrei lanciare il mio aiuto?

risposta

36

È possibile utilizzare content_tag per ottenere ciò. È il modo più rouge di fare quello che vuoi. Ma è più lungo dell'HTML grezzo.

<% content_tag :button :type => :submit, :class => :positive do %> 
    <%= image_tag "icons/tick.png"%> 
    Save 
<% end %> 

Che produce

<button type="submit" class="positive"> 
    <img src="/images/icons/tick.png" alt="Tick"/> 
    Save 
</button> 

Tuttavia utilizzare questo come punto di partenza si dovrebbe avere alcun problema a rotazione il proprio aiutante robusta, o astrazione ad un parziale.

+0

In che modo un assistente può rendere questo più veloce? – TheExit

+1

@TheExit: un helper non renderebbe più veloce. Non ho mai affermato che sarebbe, in effetti, il tag del contenuto sarebbe più lento di un semplice inserimento dell'html grezzo come stringa. Ma l'helper si presta a un facile riutilizzo, il che rende più veloce in termini di tempo impiegato a scrivere codice sugli usi futuri di questo tipo di pulsante. – EmFi

+2

Ho creato un helper chiamato "button_tag" e si comporta esattamente come tutti gli altri rail formano metodi helper e come tale mi rende felice. – jaydel

2

È possibile utilizzare il image_submit_tag helper per creare un'immagine presentare tag, piuttosto che avvolgendo il tutto in un pulsante:

<% 
image_submit_tag("login.png") 
# => <input src="/images/login.png" type="image" /> 

image_submit_tag("purchase.png", :disabled => true) 
# => <input disabled="disabled" src="/images/purchase.png" type="image" /> 

image_submit_tag("search.png", :class => 'search-button') 
# => <input class="search-button" src="/images/search.png" type="image" /> 
%> 

questo potrebbe non essere quello che stai cercando, se si richiede la " Salva "il testo visualizzato sopra lo <img>

Problemi correlati