我想显示一个带有引导类的表单(参见https://github.com/plataformatec/simple_form#twitter-bootstrap)
我使用bootstrap参数安装了简单的表单:
rails generate simple_form:install --bootstrap
以我的形式:
<%= simple_form_for(resource,
:as => resource_name,
:url => registration_path(resource_name),
:html => {:class => 'form-horizontal'}) do |f| %>
<%= devise_error_messages! %>
<%= f.label :email %>
<%= f.email_field :email %>
...
生成的HTML如下所示:
<label class="email optional control-label" for="user_email">Email</label>
<input id="user_email" name="user[email]" size="30" type="email" value="">
(没有包装标签)。
为什么不应用包装器标签?
我尝试了什么:
卸载并重新安装gem:
bundle update; bundle install; bundle;
rails d simple_form:install
rails generate simple_form:install --bootstrap
我检查了服务器启动时是否调用了simple_form_bootstrap.rb配置文件;它是。
我试图强制包装器在表单中引导(仍然没有包装器标签):
<%= simple_form_for(resource,
:as => resource_name,
wrapper: :bootstrap,
...
答案 0 :(得分:2)
f.label
和f.email_field
不使用包装器。 f.input
确实如此。
替换
<%= f.label :email %>
<%= f.email_field :email %>
与
<%= f.input :email %>
包装器被应用。