【发布时间】:2016-01-24 00:58:40
【问题描述】:
我有一个使用 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>
问题是它看起来像这样:
而不是像这样直截了当:
我认为<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/
【问题讨论】:
-
最终的 HTML 是什么样子的?
-
@Aziz 我刚刚添加了 HTML
-
是的..我相信所有的按钮都应该在表单里面,你能做到吗?
-
@Aziz 不,我不能,因为如果我这样做,链接将不会路由到正确的控制器
-
当你点击它们时它们是否还能工作?
标签: css ruby-on-rails twitter-bootstrap