2012-01-20 3 views
2

私はRails 3.1アプリでActiveAdmin gemを実装しましたが、これは私のアプリでJavaScriptの問題を引き起こしました。 active_admin.jsファイルを削除すると、問題が解決されなくなります。私のアプリの機能を維持しながら、active_adminのjavascriptを保持するにはどうすればいいですか?どのような問題が起こっているのでしょうか?ActiveAdminとRails 3.1の間でJavaScriptが壊れています

active_admin.jsの

内容:私application.jsファイルの

//= require active_admin/base 

内容:ActiveAdminによって破壊されている

//= require jquery 
//= require jquery_ujs 
//= require_tree . 

はJavascript:

jQuery -> 
$('.addcomment').live("click", -> 
$(this).closest('.comment_area').find('.add_comment_box').parent().removeClass("add_comments_box_hidden").addClass('add_comments_box') 
    return false) 

init_csrf = -> 
    window._settings.token = $('meta[name="csrf-token"]').attr 'content' 
    $.ajaxSetup 
    beforeSend: (xhr) -> 
     xhr.setRequestHeader "X-CSRF-Token", _settings.token 

jQuery -> 
    $('.post_comment_btn').live("click", -> 
     $(this).closest('.comment_area').addClass('add_comment_here') 
     $.post(
      '/comments' 
      $(this).closest('form').serialize() 
      null 
      "script" 
     ) 
     return false) 

リンクactive_adminへgithub page

答えて

5

これがあなたに役立つかどうかわかりません...私はactive_adminのアプリケーションとは別にactive_adminのjavascriptも使用しています。私は "ajax links"をクリックすると二重の要求に悩まされました。この問題は、vendor.jsファイル内のトリガーによって発生しています。これは、宝石の最新バージョン(vendor.jsが削除されました)と適切なインクルードステートメントが私のapplication.jsファイルに修正されました。

//=require_tree .を明示的なrequireステートメントに置き換えることをお勧めします。あなたが問題を見つけるまで、depsを追加するために1つずつ試してください。

さらに、使用しているActiveAdminのバージョンをお知らせください。

+0

「\\ = require_tree」を置き換えると、私のjsファイルには、active_admin.jsファイルを含まない個別のrequireステートメントが付いているため、この問題は解決されます。 – John

1

問題は、ActiveAdminに独自のバージョンのjQueryが含まれていることです。これは、ご使用のバージョンを上書きします。 jQueryにプラグインを追加した場合、それらは消えます。

幸運にも、簡単な修正があります.ActiveAdmin用のJavaScriptは明示的に含まれていません。あなたはする必要はありません。 Active Adminは、ActiveAdmin gemから必要なjavascriptを取得することを知っています。だから、それを必要とするラインを削除するだけでいいですね。あなたの資産の1の正確なJSファイルを//= require_tree .を置き換え

:あなたが動作しないインデックスにリンク(default_actions)を削除または更新するよりも、active_admin.jsにラインを必要とするので、その線があること聞かせてと削除

+0

Thx、それは魅力のように動作します。 –

0

一つ。これはついに私の問題を解決しました!

誰かに時間を節約したいと考えています。 よろしくお願いいたします。

関連する問題