2016-03-23 13 views
0

のクリックからモーダルウィンドウをトリガ私は私の管理ページでaction_itemことがあります。アクティブ管理:action_itemリンク

action_item :only => :index do 
    link_to I18n.t('admin.dem_ref_nvl_etb'), :action => 'whatever' 
    end 

私はクリックしてポップアップウィンドウを表示できるか知りたいです上記のリンクは、 "form"オプションを使用すると、batch_actionとほとんど同じです(私はここでそのようなアクションは必要ありません、基本的なリンクです)。

ヒント?

お読みいただきありがとうございます。

答えて

2

あなたの質問に対するあなたの答えを見つけました。私はあなたのJavascriptを知っていると思いますが、詳細には触れませんが、これはさらに拡大する可能性があります。

ActiveAdminにはモーダルダイアログjavascriptライブラリが付属しています。それは非常に原油ですが、仕事を完了することができます。このドキュメントページでは、その存在に関する記事を読むことができます: http://activeadmin.info/docs/9-batch-actions.html バッチアクションフォームセクションの最後に3/4下へ。正確なコードチェックgithubのために : https://github.com/activeadmin/activeadmin/blob/master/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee

そして、これはあなたが効果を確認するためにJavaScriptコンソールにペーストをコピーすることができ、非常に基本的な例です。

ActiveAdmin.modal_dialog("Send email to: ", {emails: 'text'}, function(inputs) {alert (inputs.emails)}) 

あなたのJavascriptスキルが優れている限り、あなたは確実に進んでいなければなりません。

3

ユーグの答えのビルが、ここで私は私の非常にわずかなJavaScriptのスキルと一緒に考え出すのに管理し、より具体化アウト例です:

app/assets/javascripts/active_admin.jsに:私は使用していない

//= require active_admin/base 

$(document).on('ready page:load turbolinks:load', function() { 
    $('a.lextest').click(function(e) { 
    e.stopPropagation(); // prevent Rails UJS click event 
    e.preventDefault(); 

    ActiveAdmin.modal_dialog("Send email to: ", {emails: 'text'}, function(inputs) {alert (inputs.emails)}) 
    }) 
}) 

注意デフォルトのactive_admin.js.coffeeです。なぜなら私は偽りのコーヒーを嫌うからです。個人的な好みです。このコードは、クラスlextestを持つすべてのリンクにonClickイベントハンドラを追加します。私はbatch_actionimplementedある道から一斉にこれを石畳

link_to('Modal', '#', class: 'lextest')

:今、あなたはLINK_TOと、このようなリンクを作成することができます。

+1

データをレールに戻すラウンドトリップを含む完全な例:https://github.com/heroku/retrodot/pull/28/files – Lexelby

関連する問題