我将 simple_form 与 bootstrap 一起使用,并且主要使用水平布局。
我想偶尔在主水平列的字段右侧添加其他字段,但在定位它们时遇到了麻烦。当然,我可以停止使用:class => 'form-horizontal'并自己定位它们,但我想知道是否有人知道一种在 simple_form 字段右侧添加字段的简单方法。
我尝试使用引导定位,但它破坏了 simple_form 水平布局。
例如,请参见下面的代码。我希望应用按钮立即位于输入字段的右侧。我还有其他用例,我想在右侧放置第二个字段。
我使用了pull-right属性,但它把它带到了页面的右侧。我希望按钮紧挨着输入字段的右侧,有一些间距。有没有一种简单的方法可以在不编写我自己的 CSS 的情况下做到这一点?
<%= link_to 'Apply', apply_primer3_defaults_path, :class => 'btn btn-primary pull-right', :remote => true, :id => 'apply_btn' %>
<%= f.input :primer3_default, :collection => Primer3Setting.pluck(:description), include_blank: false,:title => 'Primer 3 Default' %>
我添加了一个屏幕截图来帮助说明问题。我希望在Primer 3 Std Defaults下拉菜单之后出现Apply按钮。我还将在状态下拉列表的右侧添加一个字段。
编辑
根据kikicarbonel 的回答(在 erb 中)添加了更改。它有点工作,但非常冗长。
批次详情:
<%= simple_form_for(@batch, :html => { :class => 'form-horizontal'}) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<div class="row">
<div class="span12">
<%= f.input :name, input_html: { value: User.find(@batch.user_id).name }, :disabled => true %>
</div>
<div class="span12">
<%= f.input :status, :collection => Batch::STATUS_OPTIONS %>
</div>
<div class="span12">
<%= f.input :description %>
</div>
<div class="span4">
<%= f.input :primer3_default, :collection => Primer3Setting.pluck(:description), include_blank: false,:title => 'Primer 3 Default' %>
</div>
<div class="span4 offset2">
<%= link_to 'Apply', apply_primer3_defaults_path, :class => 'btn btn-primary', :remote => true, :id => 'apply_btn' %>
</div>
</div class="span12">
<%= f.input :details, :input_html => { :class => "span6", :rows => 5 } %>
</div>
</div>
</div>
截图如下。当我使用offset1时,这些字段正在触摸。看起来我必须制作一些自定义 css 才能在没有所有标记的情况下做我需要的事情。