2016-11-14 9 views
0

私のapplication.jsファイルで両方を要求する必要があります。問題は、あるものが他のものより上にある場合、私のアプリケーションの一部が破損することです。しかし、私は両方とも働かせる必要があります。jquery_ujs上でjqueryが必要な場合は、アプリケーションが途切れます。

E.G. jquery_ujs上でjqueryが必要な場合、ログアウト機能が動作しなくなり、No route matches [DELETE] "https://stackoverflow.com/users/sign_out"エラーが発生します。

E.G.逆も同様ですが、jquery_ujsがjqueryの上にある場合は、 'destroy'や 'edit'のようなdeviseからのリンクが完全に消えます。

私はこれが夢の問題であると信じていますが、私は何をすべきか分かりません。

Application.js:

//= require jquery_ujs 
//= require jquery 
//= require bootstrap 
//= require turbolinks 
//= require masonry/jquery.masonry 
//= require_tree . 

_header.html.erb:

<div class="collapse navbar-collapse navbar-ex1-collapse"> 
    <ul class="nav navbar-nav navbar-right"> 
     <li><%= link_to "Home", root_path %></li> 
     <li><%= link_to "About", about_path %></li> 
     <% if user_signed_in? %> 
     <li><%= link_to "New Pin", new_pin_path %></li> 
     <li><%= link_to "Account Settings", edit_user_registration_path %></li> 
     <li><%= link_to "Log out", destroy_user_session_path, method: :delete %></li> 
     <% else %> 
     <li><%= link_to "Sign in", new_user_session_path %></li> 
     <% end %> 
    </ul> 

アップデート:私はログアウト時に明らかに、それは動作し、エラーNo route matches [DELETE] "https://stackoverflow.com/users/sign_outを与えていません。しかし、私はページをリフレッシュすると成功したログアウトを得る:/ everytime。

+0

sign_outを呼び出す方法を記述できますか? sign_outのリンクをお願いします。また、jqueryはjquery_ujsの上で呼び出される必要があります。 –

+0

はい、追加されました: – Benjamints

答えて

1

あなたはjqueryの前にjquery_ujsを追加しているようにそれはそうdevise.rb

config.sign_out_via = :get 
+0

私はすでにそれを持っています:/ – Benjamints

+0

これを試してくださいhttp://stackoverflow.com/a/9895436/2681997 –

4

にこのコードを貼り付け、これを試してみてください。 jqueryを最初に追加する必要があります。

//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require turbolinks 
//= require masonry/jquery.masonry 
//= require_tree . 
+0

それはまだ多くの変更されません。ちょうど別の問題を与える。 – Benjamints

+0

@Benjamints:エラーとは何かをお知らせください。エラーがこの質問に関連している場合。 –

関連する問題