0

私はhamlを使用していますが、以前はhamlの経験がありませんでした。私はコードが以下のujs呼び出しを発射しています

  = link_to "this is the best",cast_vote_cast_votes_path(job_application.id),:id => job_application.id ,:remote => true ,:class => 'btn btn-primary best-button'

この呼び出しの後、関数「cast_vote」が実行され、「cast_vote.js.erb」という名前のテンプレートがあります。jsのアラートを実行したいだけです。しかし、アラートが実行されないのはなぜですか?

わからない。助けてください..

4

2 に答える 2

2

これをhamlテンプレートに追加してみてください:

:javascript
  $(document).ready(function() {
    $(".best-button").click(function() {
       alert("ok");
    });
  });
于 2013-02-12T18:04:19.763 に答える
1

応答を処理するには、リモート ajax 要求の成功コールバックを構成する必要があります。このスクリプトを haml ファイルに追加します。

$('.best-button')
  .bind('ajax:success', function(event, data, status, xhr){ 
    eval(data.response);
  });

js.erb を変更して、json オブジェクトを形式で返します{response: 'alert("ok")'}

于 2013-02-13T15:20:36.183 に答える