2010-11-21 38 views
5

私はブロックエディタを使用して、ユーザーと関連するアクションをすべての繰り返しで同じ行に表示するようにしましたか?
あなたはこのように可視化することができます: -Rails: "button_to"ボタンをsameline(改行なし)に表示するにはどうすればいいですか?

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

しかし、私はbutton_toメソッドを使用している場合、ボタンは改行に表示なっています。これは私が私のコードスニペットをwant.heresません: -

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

しかし、上記のコードでのメール」と「ご入札」は2行に表示されているが、私はペアとしてそれらを表示したい、と各ペアは1行に表示されます。

私は 'link_to'を使用してそれを達成できます。
「button_to」の代わりに「link_to」を使用すると、自分のアイデアを達成することはできますが、button_toで行うことはできません。なぜ、link_toとbutton_toの違いか?
「オファーの入札」をボタンとしてのみ表示したいとします。
今、button_to buttinを 'email'と同じ行に表示する方法を説明します。

質問の説明が不明な場合は教えてください。 ありがとうございます。

答えて

9

button_toはボタンの周りにフォームとdivを生成します。したがって、ボタンの前にあるコンテナの幅を制限しないと、ボタンを押し下げる幅の100%がかかります。

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

でこれを入れてください。ありがとう!! –

3

これはレールではなく、ウェブブラウザのレンダリングの仕方と同じです。

button_toは、非表示フィールドを持つフォームを作成する便利な方法です。フォームを電子メールアドレスと同じ行に配置する場合は、コンテナ(通常はdiv)に配置する必要があります。divを左に浮動させ、オーバーフローを隠すように設定します。

0

button_toは、formタグにレンダリングするので、私はちょうど新しい行を作成しませんformタグを確保するためにCSSを変更します。

ただし、特定のフォームタグにのみ適用するには、次のように追加form_class: "myButton"を追加します。

あなたsomething.html.erbで

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

また、私のために働いたあなたのapplication.css

myButton { 
    display: inline; 
} 
関連する問題