2017-08-18 3 views
0

私は、Rubyのバックエンド(Mostly Sinatra、Not Rails)を使ってWebアプリケーションを構築しています。このアプリケーションは、機関、人およびそのサブスクリプションを管理することです。ルビのバックエンドからjquery確認ダイアログに値を渡すにはどうすればいいですか?

ユーザーが何かを削除したときに、カスタム確認ダイアログボックスが必要でした。たとえば、次のように

ユーザが「A社」という名前の機関を削除した場合、私が言いたい:Are you sure you want to delete Company A

彼らは「ジョン・ドウ」という名前の人を削除した場合、私が言いたい:Are you sure you want to delete John Doe?

を彼らはジョン・ドウから「サブスクリプションA」と呼ばれるサブスクリプションを、削除した場合、私が言いたい:

Are you sure you want to delete Subscription A from John Doe

私は現在、このようになりますjQueryのベースの削除の確認ダイアログを持っています

関連するHTMLとERBは、次のとおりです。

<p><a class="action-link delete-action" href="/institutions/<%= @institution.id %>/remove">Remove <%= @institution.name %></a></p> 

私はjQueryのダイアログに機関/人/サブスクリプションの名前/それらのもののすべてに合格するにはどうすればよいですか?

ありがとうございます!

答えて

0

その後、それがどのように安全なのでしょうか?あなたのクリックハンドラで

$('a.delete-action').click(function(event) { 
    var name = $(this).data('name') 
    var prompt = "Are you sure you want to delete " + name + "?" 

    if (confirm(prompt)) { 
    return true; 
    } 

    return false; 
}); 
+0

を属性を抽出し、リンク

<a href='...' data-name='John Doe'>...</a> 

の属性として名前を入れてください注意するだけで、サイトはSSLで保護されており、ログインすることなくアクセスすることはできません。しかし、私の拠点をカバーするために、私はこの(かなり敏感な)データを直接リンク?そして、AJAX呼び出し(IDを使ってデータベースを参照する)を使用することは可能でしょうか?それとも、それは過労だろうか? –

+0

@UmarGhouse「敏感」とはなんですか?とにかくそれをページに表示しています。これは、あなたのものよりもこのように「露出した」ものではありません。 –

+0

私はそれを考えなかった。今私は愚かな気がする。ありがとう@Sergio Tulentsev私はこれを試してみよう!しかしもう1つの質問は、学習目的のためです。代わりにAJAXを使用することについて。それが実行可能な選択肢になるだろうか? –

関連する問題