无法使用Twitter Bootstrap添加"well"类来设计注册表单(form_for)

Ada*_*amT 3 ruby ruby-on-rails devise twitter-bootstrap

为什么在呈现页面时不会显示"well"类?

<div class="container">
  <div class="row">
    <div class="offset4 span4">
      <h2>Sign up</h2>

      <%= form_for(resource, :html => { :class => "well" }, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
        <%= devise_error_messages! %>

        <div><%= f.label :email %><br />
        <%= f.email_field :email %></div>

        <div><%= f.label :password %><br />
        <%= f.password_field :password %></div>

        <div><%= f.label :password_confirmation %><br />
        <%= f.password_field :password_confirmation %></div>

        <div><%= f.submit "Sign up" %></div>
      <% end %>

      <%= render "devise/shared/links" %>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

呈现时,表单如下所示:

    <form method="post" id="new_user" class="new_user" action="/users" accept-charset="UTF-8"><div style="margin:0;padding:0;display:inline"><input type="hidden" value="?" name="utf8"><input type="hidden" value="P3KHtU5CRNy0/kVEvck4coilSOWCHYaKPZ5D1xCxQj4=" name="authenticity_token"></div>


        <div><label for="user_email">Email</label><br>
        <input type="email" value="" size="30" name="user[email]" id="user_email"></div>

        <div><label for="user_password">Password</label><br>
        <input type="password" size="30" name="user[password]" id="user_password"></div>

        <div><label for="user_password_confirmation">Password confirmation</label><br>
        <input type="password" size="30" name="user[password_confirmation]" id="user_password_confirmation"></div>

        <div><input type="submit" value="Sign up" name="commit"></div>
</form>
Run Code Online (Sandbox Code Playgroud)

通知类只是"new_user".没有"好",为什么以及如何修复它?

谢谢

更新:

我已将其更新为:

  <%= form_for(resource, :class => "well", :as => resource_name, :url => registration_path(resource_name)) do |f| %>
Run Code Online (Sandbox Code Playgroud)

呈现的HTML:

<form method="post" id="new_user" class="new_user" action="/users" accept-charset="UTF-8"><div style="margin:0;padding:0;display:inline"><input type="hidden" value="?" name="utf8"><input type="hidden" value="P3KHtU5CRNy0/kVEvck4coilSOWCHYaKPZ5D1xCxQj4=" name="authenticity_token"></div>
Run Code Online (Sandbox Code Playgroud)

还是行不通.使用Rails 3.2.8在应用程序的其余部分使用HAML,即使这些文件是ERB.可能是吗?

Spe*_*eed 14

实际上你的form_for没有附加类的原因是因为使用form_for,你需要在:html哈希中声明它:

form_for(resource, :html => {:class => "well"}, :as => resource_name, :url => registration_path(resource_name)) do
Run Code Online (Sandbox Code Playgroud)

api.rubyonrails.org form_for,阅读描述三个哈希选项的段落(:url,:namespace和:html)