0

チェックボックスの行を持つ巨大なチェックリストがあります。各行は 1 つのイベントです。チェックボックスが「チェック」されている場合、ユーザーのイニシャルと現在の日付に置き換えられます。ユーザーがユーザーの情報を持つ TD をクリックできるようにしてから、jquery にダイアログ ボックスを表示させて、このフィールドのチェックを外すかどうかを尋ねます。

私の問題は、ダイアログ ボックスが受け入れられた後にコントローラーからメソッドを呼び出す方法がわからないことです。ダイアログ ボックスに渡された ID とカテゴリをメソッドにも送信する必要があります。

Railsビューコード:

<td style='text-align:center;' class='completed_box' id='<%= check_list.id %>' category='videos_edited'>
                            <div id='videos_edited_<%= check_list.id %>' style='display:none;'>
                                Are you sure you would like to uncheck videos edited recieved?
                            </div>
                            <label>
                                <%= check_list.videos_edited_user_id.initials %> <br />
                                <%= check_list.videos_edited_date.strftime("%-m/%d")  %>
                            </label>
                        </td>

JQuery コード:

$(document).ready(function(){

    $(".completed_box").click(function(e){
        id = this.id
        category = $(this).attr('category');
        $("#" + category + "_" + id).dialog({
          resizable: false,
          height:140,
          modal: true,
          buttons: {
            Yes: function(){
                uncheck(id,category); // This is the function I'm not sure how is going to work 
                $(this).dialog('close');
            },
            Cancel: function(){
                $(this).dialog('close');
                }
            }
        });
    });
});
4

1 に答える 1

0

gon gem を使用して 'uncheck' URL を JavaScript に渡し、JavaScript がメッセージの投稿先を認識できるようにします。

選択を解除するレコードの id を使用して JSON データを使用して「チェックを外す」アクションに投稿すると、コントローラーは変更を行うことができます (または、モデルまたは lib オブジェクトを呼び出して変更を行います)。成功した場合は、次のように終了します。何かのようなもの:

head :ok

失敗した場合は、422 - Unprocessable entity などの別のステータス コードを表示するエラー メッセージを含む単純な JSON ハッシュをレンダリングすることをお勧めします。jQuery Ajax にエラー イベント ハンドラーを含めて、失敗した場合にエラー メッセージを表示するか、ボックスを再度オンにするか、必要なことを行います。

于 2013-04-16T22:36:24.783 に答える