2016-01-24 24 views
0

我創建了一個按鈕,使用的form_for排隊在引導BTN-組的form_for按鈕,在軌

<%= form_for(current_user.likes.build, remote: true) do |f| %> 
<div><%= hidden_field_tag :post_id, post.id %></div> 
<button type="submit" class="btn btn-secondary"> 
    <i class="fa fa-heart-o"></i> Like 
</button> 
<% end %> 

我想它是一個按鈕在引導BTN-組:

<div class="btn-group" role="group" aria-label="Basic example"> 
     <%= form_for(current_user.likes.build, remote: true) do |f| %> 
     <div><%= hidden_field_tag :post_id, post.id %></div> 
     <button type="submit" class="btn btn-secondary"> 
      <i class="fa fa-heart-o"></i> Like 
     </button> 
     <% end %> 
     <button type="button" class="btn btn-secondary">Middle</button> 
     <button type="button" class="btn btn-secondary">Right</button> 
    </div> 

問題是,它看起來像這樣:

enter image description here

不是一切是直接穿過這樣的:

enter image description here

我覺得<form>被強制在它自己的路線。我嘗試使用的form_tag和button_for,但兩者創建<form>這最終有同樣的問題。我怎樣才能獲得調用遠程控制器並傳遞一個變量的相同功能,但要讓它正確排列呢?

這裏是HTML的最後輸出:

<div class="btn-group" role="group" aria-label="Basic example"> 
       <form class="new_like" id="new_like" action="/likes" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="✓"><input type="hidden" name="authenticity_token" value="tlp7nQs9rmJiZz/OnRQXeYa6sFlZmWKlf4OUwfbI1YALdg=="> 
       <div><input type="hidden" name="post" id="post_id" value="311"></div> 
       <button type="submit" class="btn btn-secondary"> 
        <i class="fa fa-heart-o"></i> Like 
       </button> 
</form>   
    <button type="button" class="btn btn-secondary">Middle</button> 
<button type="button" class="btn btn-secondary">Right</button> 
</div> 

這裏是一個小提琴:https://jsfiddle.net/2y7zunqg/

+0

如何最終的HTML是什麼樣子? – Aziz

+0

@Aziz我剛加入的HTML – user2884789

+0

是啊..我相信所有的按鈕應該是裏面的表格,你能做到嗎? – Aziz

回答

2

如果你的目標只是爲了使它看起來像普通按鈕組從引導你可以這樣做

.btn-group form{ 
    float:left; 
    display: inline;// no needed as pointed by Aziz 
} 

.btn-group form .btn{ 
    border-top-right-radius: 0; 
    border-bottom-right-radius: 0; 
} 

如果你把其他形式的內部的各個按鈕,然後你將不得不使用:first-child:last-child選擇器使用相同樣式的引導程序用途。

我基本上做的是去here和右邊的按鈕之一,然後點擊檢查然後看每個類適用的樣式。

+2

這個工作方式可能不需要 – Aziz

+0

這是必須的,因爲窗體標籤的瀏覽器默認顯示是「block」(至少在chrome上) – nbermudezs

+1

其實你是對的。左邊的浮動似乎是足夠的,因爲在不關心顯示值。感謝您指出 – nbermudezs