Gra*_*yer 14 forms ruby-on-rails twitter-bootstrap
这可能是一个初学者的问题,但没有太多的运气来实现这一目标.的背景:
问题是我无法使表单工作,但可以获得默认的Bootstrap示例代码,以相同的形式正确布局.Rails表单看起来像:
<div class="row-fluid">
<div class="span4 well">
<%= form_for @member, :html => {:class => "form-horizontal"} do |m| %>
<fieldset>
<%= m.label :title %>
<%= m.text_field :title %>
<%= m.label :first_name %>
<%= m.text_field :first_name %>
<% end %>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
请注意,form_for方法具有form-horizontal类,如Bootsrap形式CSS中所述
显示时,标签(例如标题)位于左侧调整的一行上,然后下一行是输入字段,也是左侧调整的.
现在,如果我为表单包含一些示例Bootstrap代码,例如:
<div>
<form class="form-horizontal">
<fieldset>
<legend>Legend text</legend>
<div class="control-group">
<label class="control-label" for="input01">Text input</label>
<div class="controls">
<input type="text" class="input-xlarge" id="input01">
<p class="help-block">Supporting help text</p>
</div>
</div>
</fieldset>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
然后我得到预期的结果 - 标签和输入字段在水平布局的同一行.
我已经尝试将样式"control-label"添加到m.label和m.text_field组件上,但没有将布局设置为水平的乐趣.
因此,不确定问题是什么,因为工作部分验证我可以使Bootstrap工作,虽然我的Rails表单它不尊重表单水平.
shu*_*riu 14
如果你想做形式vanilla(如,没有simpleform-bootstrap或其他宝石),你需要相应地形成表单HTML:
<div class="row-fluid">
<div class="span4 well">
<%= form_for @member, :html => {:class => "form-horizontal"} do |m| %>
<fieldset>
<legend>Member Form</legend>
<div class="control-group">
<%= m.label :title, :class => "control-label" %>
<div class="controls">
<%= m.text_field :title, :class => "input-xlarge" %>
</div>
</div>
<div class="form-actions">
<%= m.submit :class => "btn btn-primary" %>
</div>
</fieldset>
<% end %>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
正如Arun Kumar Arjunan所说,表单构建器不会生成引导框架所需的html.
绝对检查引导程序示例页面中所需的HTML ,和/或通过检查DOM(我发现它没有真正详细记录).总而言之,您可以通过创建自己的表单构建器或使用各种宝石手动完成,如上所述.
另外作为旁注,请务必查看如何自定义错误css,因为默认情况下,当发生验证错误时,该字段将被<div class ="field_with_errors">破坏bootstrap使用的css选择器包装.
| 归档时间: |
|
| 查看次数: |
21337 次 |
| 最近记录: |