0

アプリケーションにチェックボックスのあるフォームがあります。フォームを送信するときに、チェックボックスがチェックされているかどうかを確認する必要があります。チェックされている場合は、モデルの属性を変更する必要があります。動作しない私のコードは次のとおりです。

$("#customer_submit").click(function(){
if ($("#default_check").is(':checked')){
    <%current_merchant.has_default = true
    <%current_merchant.save%>
}

});

チェックが満たされない場合でも、Ruby コードは実装されます。私は根本的に間違ったことをしていることを知っています.助けてください!

4

1 に答える 1

0

クライアント側のスクリプトとサーバー側のコードを混在させています。

<% %> 内の ruby​​ コードは、コードがクライアントに送信される前に実行されています。そして、その周りの JavaScript はクライアントで実行されます。

つまり、実際には、次の JavaScript コードをブラウザに送信して実行します。

$("#customer_submit").click(function(){
  if ($("#default_check").is(':checked')){
  }
});

そして、はい、あなたはそれを根本的に間違っています:)

実際にやりたいことは、AJAX 呼び出しまたはその他の形式のメッセージをサーバーに送り返し、そこでモデルの変更を永続化することです。

于 2012-05-23T13:43:53.520 に答える