Ruby on Rails simple_form在输入自定义标签之前预先添加$

时间:2014-06-26 16:04:27

标签: ruby-on-rails ruby haml simple-form

我正在尝试在我的某个字段前添加$并且我能够成功地执行此操作,但没有自定义标签。这是有效的代码:

= f.input :amount do
    $
    = f.input_field :amount, :label => false, :hint => false, :wrapper => false

这让我有两个令人困惑的地方。 1)为什么:label => false时标签仍然出现? 2)如果我将其更改为:

,为什么会失败
= f.input :amount do
    $
    = f.input_field :amount, label: 'This is my label', :hint => false, :wrapper => false

当我将标签更改为自定义标签时,$会移动到标签上方而不是字段前面。感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

当你做的时候

= f.input :amount do
  $
  = f.input_field :amount, label: 'This is my label', :hint => false, :wrapper => false

这会生成html

$
<label for="amount">This is my label</label>
<input id="amount" name=" " type="text" />

我不确定,但我认为 simple_form在您的标签上应用了display:block 的css,因为here标签是内联元素

我认为您需要的只是一些css魔法来解决您的问题

= f.input :amount do
  = f.input_field :amount, label: 'This is my label', :hint => false, :wrapper => false
  %span.dollar &#36; 

然后在输入字段中使用此css:

#input_id{
  //here your input_id would be something like resource_amount you can check it in developer console to be sure
  display:inline-block;
}

.dollar{
  float: left;
}

JSFiddle