Получение формы входа в систему в Twitter Bootstrap Modal

Итак, я хочу использовать модальное окно twitter bootstrap для отображения формы входа в систему.

Я основываю свой код статьи вики здесь: https://github.com/plataformatec/devise/wiki/How-To:-Display-a-custom-sign_in-form-anywhere-in-your-app

У меня есть следующая разметка в моем файле макета приложения

<div class="modal fade" id="loginModal">
  <div class="modal-header">
    <button class="close" data-dismiss="modal">×</button>
    <h3>Sign In</h3>
  </div>
  <div class="modal-body">
    <%= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class => 'form-horizontal'}) do |f| %>
          <div class="inputs">
            <%= f.input :email, :required => false, :autofocus => true %>
            <%= f.input :password, :required => false %>
            <%= f.input :remember_me, :as => :boolean if devise_mapping.rememberable? %>
          </div>
  </div>
    <div class="modal-footer">
        <%= f.button :submit, "Sign in", :class => 'btn btn-primary', :data => { :dismiss => "modal"} %>
        <% end %>
    </div>
</div>

И, следуя совету в вики, добавил в файл помощника приложения следующее

def resource_name
  :user
end

def resource
  @resource ||= User.new
end

def devise_mapping
 @devise_mapping ||= Devise.mappings[:user]
end

Однако это не работает. Модальное окно закрывается и ничего не происходит. Страница никуда не уходит и ничего не делает. Переход на фактическую страницу входа работает, а вот модальное окно — нет. Предложения?


person DVG    schedule 30.05.2012    source источник


Ответы (2)


Это код, который в итоге заработал

<%= simple_form_for(:user, :url => user_session_path) do |f| %>
person DVG    schedule 27.08.2013
comment
отличный ответ - само собой разумеется, что вы должны добавить гем simple_form github.com/plataformatec/simple_form - person jakeforaker; 08.03.2014
comment
Пожалуйста, не могли бы вы расширить свой ответ. Вы имеете в виду, что одна строка - это то, что у вас есть в вашей частичной ссылке для входа? - person Mel; 27.05.2014
comment
@ jagged1 нужно ли добавлять simple_form ?? - person Abhilash; 03.11.2015
comment
можете ли вы проверить это @DVG stackoverflow.com/questions/36037320/ и, пожалуйста, помогите мне, если можете. - person gates; 16.03.2016

Не используйте :data => { :dismiss => "modal"}. Это должно вызвать некоторую функцию js из начальной загрузки, которая переопределяет событие отправки формы.

person Ismael    schedule 30.05.2012