2013-09-28 7 views
0

Я пытаюсь создать модальное окно для моего входа (используя Devise) на моей домашней странице.Войти modal Window with Bootstrap/Devise

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

<div class="modal fade" id="loginModal"> 
    <div class="modal-header"> 
    <h3>Sign In</h3> 
    </div> 
    <div class="modal-body"> 
    <%= simple_form_for(:user, :url => user_session_path) 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 

Когда я нажимаю на ссылку для входа на моем сайте это вызывает отвратительное модальное окно. Когда я ввожу имя пользователя/пароль и отправляю, модальное окно закрывается, но ничего не происходит. Есть идеи?

+0

Возможный дубликат: http://stackoverflow.com/questions/10808923/getting-devise-sign-in-form-into-twitter-bootstrap-modal – vee

ответ

0

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

2: Убедитесь, что ваша форма имеет правильный маршрут в действии и имеет правильный метод http.

3: Убедитесь, что форма будет отправлена.

4: На этом этапе ваша форма должна быть отправлена ​​и перенаправлена ​​на страницу входа в систему, если нет, вернитесь назад и убедитесь, что значения 1-3 верны.

Если ваша марка делает отвратительное модальное окно, то вы не можете здесь никому помочь, основываясь на информации, которую вы предоставили.