Rails:simple_form添加对等字段

时间:2013-06-26 11:08:16

标签: ruby-on-rails simple-form

我正在使用带引导程序的simple_form,而且我主要使用水平布局。

我偶尔会在主水平列的字段右侧添加其他字段,但是在定位它们时遇到了问题。当然我可以停止使用:class => 'form-horizo​​ntal'并自己定位,但我想知道是否有人知道在simple_form字段右侧添加字段的简单方法。

我尝试使用bootstrap定位,但它打破了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 下拉菜单后点击应用按钮。我还会在状态下拉列表的右侧添加一个字段。

enter image description here

修改

根据 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来做我需要的东西,而不需要那些标记。

enter image description here

1 个答案:

答案 0 :(得分:2)

要使用simple_form whit bootstrap css而不实现你的自定义css,你可以使用这样的代码(我更喜欢使用haml,但在erb中的工作方式类似):

= simple_form_for(@example) do |f|
  = f.error_notification

  .form-inputs
    .row
      .span4
        = f.input :title
      .span4.offset2
        = f.input :version

结果:

标题:bla ... bla ... bla版本:xxx