0

画像付きのリンクが3つあります。リンクをクリックすると、カウント+1を追加したい。

<a href="/home" id="push"><img src="/images/image1.gif" /></a>
<a href="/faq"> <img src="/images/image2.gif" /></a>
<a href="/news"><img src="/images/image3.gif" /></a>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

<script type="text/javascript">
  $("#push").click(function(){
      $.ajax({
        url: "room/room_count", type: "POST"});
  });
</script>

私のコントローラーで

 def room_count
   count_method = Room.find 1
   count_method.update_attribute(:count, count_method.count.to_i + 1)
 end

リンク数をクリックしても更新されませんが、href="/home" on href="#" を置き換えるとすべて正常に動作します。

私は何を間違っていますか?

前もって感謝します

4

1 に答える 1

0

href 内に onclick を配置すると、コンテンツを動作/アクションから分離することを強く信じている人を怒らせます。主張は、HTML コンテンツは、プレゼンテーションや動作ではなく、コンテンツのみに焦点を当てたままにする必要があるということです。

最近の一般的な方法は、javascript ライブラリ (jquery など) を使用し、そのライブラリを使用してイベント ハンドラーを作成することです。次のようになります。

$("#push").click(function(){
      $.ajax({
        url: "room/room_count", type: "POST"});
      return false;
  });
于 2013-09-06T14:33:48.110 に答える