ruby-on-rails – Rails中的Twitter-Bootstrap和Forms

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails中的Twitter-Bootstrap和Forms前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能是一个初学者的问题,但没有太多的运气,这样做.的背景:

> Rails 3.0.x版本
Bootstrap 2.0 – 使用预编译简单地放在公共/样式表中.
ATT
>尝试使用水平布局进行表单,即在同一行上的输入字段旁边标记.

问题是我无法使表单工作,但可以获得默认的Bootstrap示例代码,以相同的形式正确布局. Rails表单看起来像:

  1. <div class="row-fluid">
  2. <div class="span4 well">
  3. <%= form_for @member,:html => {:class => "form-horizontal"} do |m| %>
  4. <fieldset>
  5.  
  6. <%= m.label :title %>
  7. <%= m.text_field :title %>
  8.  
  9. <%= m.label :first_name %>
  10. <%= m.text_field :first_name %>
  11. <% end %>
  12. </div>
  13. </div>

请注意,form_for方法具有如Bootsrap form CSS所述的“水平”类

显示标签时,例如标题,在一行左边调整,然后在下一行是输入字段,也左调.

现在,如果我包括一些示例Bootstrap代码的表单,如:

  1. <div>
  2. <form class="form-horizontal">
  3. <fieldset>
  4. <legend>Legend text</legend>
  5. <div class="control-group">
  6. <label class="control-label" for="input01">Text input</label>
  7.  
  8. <div class="controls">
  9. <input type="text" class="input-xlarge" id="input01">
  10.  
  11. <p class="help-block">Supporting help text</p>
  12. </div>
  13. </div>
  14. </fieldset>
  15. </form>
  16. </div>

然后我在水平布局中在同一行获得预期结果 – 标签和输入字段.

我已经尝试在m.label和m.text_field组件中添加了“control-label”样式,但是将布局设为水平没有任何兴趣.

因此,不确定问题是什么,因为工作部分验证我可以让Bootstrap工作,尽管我的Rails表单不符合表单 – 水平.

解决方法

如果你想要做形式的香草(如在没有simpleform-b​​ootstrap或其他宝石),你需要相应地形成HTML格式:
  1. <div class="row-fluid">
  2. <div class="span4 well">
  3. <%= form_for @member,:html => {:class => "form-horizontal"} do |m| %>
  4. <fieldset>
  5. <legend>Member Form</legend>
  6. <div class="control-group">
  7. <%= m.label :title,:class => "control-label" %>
  8. <div class="controls">
  9. <%= m.text_field :title,:class => "input-xlarge" %>
  10. </div>
  11. </div>
  12.  
  13. <div class="form-actions">
  14. <%= m.submit :class => "btn btn-primary" %>
  15. </div>
  16. </fieldset>
  17. <% end %>
  18. </div>
  19. </div>

正如Arun Kumar Arjunan所说,表单构建器不会生成引导框架所需的html.

肯定要查看bootstrap example pages中所需的HTML和/或通过检查DOM(我发现它没有很好的记录).总而言之,您可以通过创建自己的form builder或使用各种宝石手动进行操作,如上所述.

另外作为旁注,请确保查看how to customize the errors css,因为默认情况下,当出现验证错误时,该字段由< div class =“field_with_errors”>打破引导程序使用的css选择器.

猜你在找的Ruby相关文章