2010-11-21 7 views
5

Ho un blocco -iteratore per visualizzare un utente e un'azione correlata da visualizzare sulla stessa linea per ogni iterazione?
È possibile visualizzare in questo modo: -Rails: come rendere il pulsante "button_to" per apparire sulla sameline (senza una nuova riga)?

user1 update_attribute_button 
user2 update_attribute_button. 
... 
and so on. 

Ma se io uso un metodo button_to il pulsante è sempre visualizzato su una nuova riga. che io non want.heres il mio frammento di codice: -

<% @post.bids.each do |bid| %> 
<p> 
<%= bid.user.email %> 
<%= button_to "Offer Bid", offer_bid_post_bid_path(@post, bid), :action => "offer_bid"> 
</p> 
<% end %> 

Ma con il codice di sopra del 'e-mail' e 'offerta l'offerta' stanno comparendo in due linee, ma voglio visualizzarli come coppie, con ogni coppia appare su una riga.

Posso raggiungerlo utilizzando un 'link_to'.
Se utilizzo 'link_to' invece di 'button_to' sono in grado di raggiungere la mia idea, ma non riesco a farlo con un pulsante_to. Perché questa differenza tra link_to e button_to.
Desidero visualizzare "offerta di offerta" solo come pulsante.
Ora, come rendere il pulsante_in buttin apparire sulla stessa riga del 'email'.

Per favore fatemi sapere se la descrizione della domanda non è chiara. Grazie in anticipo.

risposta

9

Un pulsante_per generare un modulo e un div attorno al pulsante. Quindi, se non si limita la larghezza del contenitore che precede il pulsante, ci vorrà il 100% della larghezza spingendo il pulsante verso il basso.

 
<% @post.bids.each do |bid| %> 
    <p> 
    <div style="float: left; width: auto;"><%= bid.user.email %></div> 
    <%= button_to "Offer Bid", offer_bid_post_bid_path(@post, bid), :action => "offer_bid" %> 
    </p> 
<% end %> 
+0

Ha funzionato anche per me. Grazie!! –

3

Questo non ha a che fare con i binari ma piuttosto come i moduli di rendering del browser web.

Un pulsante_to è solo un modo conveniente per creare un modulo con un campo non visibile. Se si desidera che il modulo sulla stessa riga dell'indirizzo e-mail sia necessario inserirlo in un contenitore, solitamente un div, impostare il div su float a sinistra e overflow nascosto.

0

button_to rende ad un tag, quindi ho solo modificato il CSS per garantire il tag form non crea una nuova linea.

Ma per applicarlo solo a un tag modulo specifico, quindi aggiungere form_class: "myButton" vedere di seguito.

Nella tua something.html.erb

<%= button_to "Offer Bid", offer_bid_post_bid_path(@post, bid), :action => "offer_bid", form_tag: "myButton> 

mettere questo nel vostro application.css

myButton { 
    display: inline; 
} 
Problemi correlati