2010-11-21 10 views
5

Mam blok -iterator, aby wyświetlić użytkownika i powiązane działanie, które mają być wyświetlane w tej samej linii dla każdej iteracji?
Można wyobrazić tak: -Szyny: Jak zrobić przycisk "button_to", aby pojawił się na sameline (bez nowej linii)?

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

Ale jeśli mogę użyć metody button_to jest uzyskiwanie wyświetlany przycisk na nowej linii. co nie want.heres mój fragment kodu: -

<% @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 %> 

Ale z powyższym kodzie „email” i „” oferta oferty pojawiają się w dwóch liniach, ale chcę, aby wyświetlić je w parach, z każda para pojawia się w jednej linii.

Osiągnę to za pomocą "linku do".
Jeśli użyję "link_to" zamiast "button_to", jestem w stanie osiągnąć mój pomysł, ale nie mogę tego zrobić za pomocą przycisku button_to. Dlaczego ta różnica między link_to a button_to.
Chcę wyświetlić "stawkę oferty" tylko jako przycisk.
Teraz, jak zrobić button_to buttin pojawiają się w tej samej linii, co "e-mail".

Proszę dać mi znać, jeśli opis pytania nie jest jasny. Z góry dzięki.

Odpowiedz

9

Przycisk_to generuje formularz i element div wokół przycisku. Tak więc, jeśli nie ograniczysz szerokości pojemnika, który jest przed przyciskiem, zajmie 100% szerokości, naciskając przycisk w dół.

 
<% @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

pracował również dla mnie. Dzięki!! –

3

Nie chodzi tu o szyny, ale o sposób renderowania przeglądarki internetowej.

Przycisk button_to to wygodny sposób na utworzenie formularza z niewidocznym polem. Jeśli chcesz, aby formularz znajdował się w tym samym wierszu, co adres e-mail, musisz umieścić go w kontenerze, zazwyczaj w div, ustaw div jako lewy i overflow ukryty.

0

button_to renderuje do tagu formularza, więc po prostu zmienił CSS w celu zapewnienia tag formularza nie tworzy nową linię.

Ale aby zastosować go tylko do określonego znacznika formularza, dodaj poniżej: form_class: "myButton".

W swojej something.html.erb

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

umieścić to w swojej application.css

myButton { 
    display: inline; 
} 
Powiązane problemy