Bootstrap Rails поддерживает простое форматирование форм

Я пытаюсь переформатировать простой экран входа в систему по умолчанию с помощью простой формы twitter bootstrap, и у меня возникают серьезные проблемы.

скриншот

Вот мой код:

<h2>Sign in</h2>

<%= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class => "form-horizontal"}) do |form| %>

<%= form.input :email, :autofocus => true %>
<%= form.input :password %>
<%= form.input :remember_me, :as => :boolean if devise_mapping.rememberable? %>
<%= form.button :submit, 'Sign in', :class => 'primary'%>
<% end %>

<%= render "links" %>

Я могу получить правильное расстояние между метками и полями ввода, если добавлю

.form-horizontal .controls {
  margin-left: 160px;
}

в мой файл application.css, но я не вижу этого нигде в их примере приложения здесь https://github.com/rafaelfranca/simple_form-bootstrap, и я действительно запутался, откуда берется правильное форматирование.

У меня почти такой же код, как у этого парня https://github.com/rafaelfranca/simple_form-bootstrap/issues/6, но я думаю, что его код старше. Я использую простую форму 2.0.2 и установил загрузчик с twitter-bootstrap-rails 1.4.3. Я также установил и удалил пару других драгоценных камней начальной загрузки Twitter, если есть шанс, что это все испортит.

Edit: here is my produced code if that helps

Войти

<form accept-charset="UTF-8" action="/admins/sign_in" class="simple_form form-horizontal" id="new_admin" method="post" novalidate="novalidate"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="xxx" /></div>

<div class="control-group email optional"><label class="email optional control-label" for="admin_email">Email</label><div class="controls"><input autofocus="autofocus" class="string email optional" id="admin_email" name="admin[email]" size="50" type="email" value="" /></div></div>
<div class="control-group password optional"><label class="password optional control-label" for="admin_password">Password</label><div class="controls"><input class="password optional" id="admin_password" name="admin[password]" size="50" type="password" /></div></div>
<div class="control-group boolean optional"><label class="boolean optional control-label" for="admin_remember_me">Remember me</label><div class="controls"><input name="admin[remember_me]" type="hidden" value="0" /><label class="checkbox"><input class="boolean optional" id="admin_remember_me" name="admin[remember_me]" type="checkbox" value="1" /></label></div></div>
<input class="btn primary" name="commit" type="submit" value="Sign in" />
</form>


<a href="/admins/password/new">Forgot your password?</a><br />

person user1071182    schedule 28.08.2012    source источник


Ответы (1)


Вау, это было больно. Оказывается, в геме twitter-bootstrap-rails есть ошибка https://github.com/seyhunak/twitter-bootstrap-rails/issues/324

Если у вас есть эта проблема, я рекомендую удалить этот гем и все, что с ним связано, и следовать этим указаниям http://ruby.railstutorial.org/chapters/filling-in-the-layout?version=3.2#sec-custom_css

для начала. Резюме ссылки:

  1. Установите гем «bootstrap-sass»
  2. Добавьте файл custom.css.scss с помощью «@import 'bootstrap';» и вы готовы идти.
person user1071182    schedule 28.08.2012