0

ホームページに (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

ホームページのログイン リンクをクリックすると、見苦しいモーダル ウィンドウが表示されます。ユーザー名/パスワードを入力して送信すると、モーダル ウィンドウは閉じますが、何も起こりません。何か案は?

4

1 に答える 1

0

1: ボタンのクリック時にブーストラップ js がモデルを閉じていないことを確認します。:data => { :dismiss => "modal"} とにかくリダイレ​​クトする場合、その値はありません。

2: フォームのアクションに正しいルートがあり、正しい http メソッドがあることを確認してください。

3: フォームが送信されるかどうかを確認します。

4: この時点でフォームは送信され、ログイン ページにリダイレクトされます。そうでない場合は、戻って 1 ~ 3 が true であることを確認します。

あなたのマークアップが恐ろしいモーダル ウィンドウを作成する場合、あなたが提供した情報に基づいてここでできることはあまりありません。

于 2013-09-29T00:16:20.873 に答える