Ruby on rails 3 使用简单的表单和引导添加和前置
我需要能够使用简单的表单输入标签使用引导附加和前置。我可以很容易地用一个来做,但不能让它们都工作。这可能吗 这是我用haml做的,这是一个前置词,但我需要另一个前置词,所以用appendRuby on rails 3 使用简单的表单和引导添加和前置,ruby-on-rails-3,haml,simple-form,Ruby On Rails 3,Haml,Simple Form,我需要能够使用简单的表单输入标签使用引导附加和前置。我可以很容易地用一个来做,但不能让它们都工作。这可能吗 这是我用haml做的,这是一个前置词,但我需要另一个前置词,所以用append = f.input :domain, wrapper: :prepend, label: false do %span.add-on %span.icon @ = f.input_field :domain simple_form仅为:prepend或:append提供包装,但不能同时提供这两
= f.input :domain, wrapper: :prepend, label: false do
%span.add-on
%span.icon @
= f.input_field :domain
simple_form仅为
:prepend
或:append
提供包装,但不能同时提供这两种包装。幸运的是,构建同时完成这两项功能的自定义包装器非常容易。只需复制粘贴其中一个包装,并对其进行轻微修改
以下是我的解决方案:
config/initializers/simple_form.rb
config.wrappers :prepend_append, :tag => 'div', :class => "control-group", :error_class => 'error' do |b|
b.use :html5
b.use :placeholder
b.use :label
b.wrapper :tag => 'div', :class => 'controls' do |input|
input.wrapper :tag => 'div', :class => 'input-prepend input-append' do |pa|
pa.use :input
end
input.use :hint, :wrap_with => { :tag => 'span', :class => 'help-block' }
input.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
end
end
在你看来:
= f.input :url, wrapper: :prepend_append, label: false do
%span.add-on something
= f.input_field :url, input_html: { class: "span2" }
%span.add-on something
最后,将此添加到css中:
.input-prepend .add-on,
.input-append input {
float: left;
}
希望有帮助。确保重新启动服务器。最简单的方法是:
<%= f.input :field, :wrapper_html => {class: "input-prepend input-append"} do %>
<span class="add-on">$</span>
<%= f.input_field :field %>
<span class="add-on">%</span>
<% end %>
{class:“输入前置输入附加”}do%>
$
%