在 Rails 4.1 中将样式分配给表单

Assigning styles to a form in Rails 4.1

目前我有这种风格的盒子和Rails 4.1:

<div class='form-group'>
    <div class='controls with-icon-over-input'>
         <%= label_tag :email, 'Email :' %>
         <%= text_field_tag :email, params[:email] %>
         <i class='icon-user text-muted'></i>
     </div>
</div>

但我需要此代码在下一个样式中插入 rails,就在 :

<div class='form-group'>
    <div class='controls with-icon-over-input'>
        <input value="" placeholder="E-mail" class="form-control" data-rule-required="true" name="email" type="text" />
        <i class='icon-user text-muted'></i>
    </div>
</div>

尝试以下我不会的permo方式,希望alquien能帮到我:

<div class='form-group'>
     <div class='controls with-icon-over-input'>
     <input value='<%= text_field_tag :email, params[:email] %>' placeholder="E-mail" class="form-control" data-rule-required="true" name="email" type="text" />
     <i class='icon-user text-muted'></i>
     </div>
</div>

Rails 带有内置助手来定义 html 属性。查看文档和一些示例 here

<div class='form-group'>
    <div class='controls with-icon-over-input'>
         <%= label_tag :email, 'Email :' %>
         <%= text_field_tag :email, params[:email], placeholder: 'Email', class: 'form-control', data: { rule_required: 'true' } %>
         <i class='icon-user text-muted'></i>
     </div>
</div>

编辑

For simple_form(看起来你正在使用它,在你的评论中):

<%= f.input :email, input_html: 
                      { class: 'form-control', 
                        placeholder: 'Email', 
                        data:  { rule_required: 'true'} } %>