1

私は近いものを見つけていますが、それらはRail 2.xであり、3で動作しないか、またはそれらが十分に異なっているため、それらを作り直す方法を理解するために多くの時間を費やしています。

これが私がやりたいことです。メンバーとゲストの2種類があります。メンバーはメンバー番号を持っており、割引を受けられます。私がフォームでやりたいのは、メンバー番号を入力してデータベースで検索し、メンバー番号が存在する場合は緑色のチェックを表示し、赤色のxが表示されない場合です。これは、フォーム全体を投稿するのではなく、エクスペリエンスを向上させるためであり、メンバー番号を太く指で触れたためにフォームをポップバックします。

button_toまたはlink_toを使用して、それらを:remote => trueとして使用し、コントローラーで関数を呼び出し、その結果に基づいて、画像を含むdivを再表示できると思いました。そのため、問題のうち、関数が呼び出されますが、成功または失敗を示す方法がわかりません。または、現在のページではなく、show.html.erbページに移動します。または私のお気に入りは何も...

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

PeopleController

def valid_member?(member_number)
  member_number = params[:number]
  member = People.find(number: member_number)
  if People.exists?(member)
    render :status => 200, :nothing => true
  else
    render :status => 404, :nothing => true
  end
end

ルート.rb

match "/valid_member" => "people#valid_member"

application.jsまたはpeople.js

function checkValidMember() {
  $("input#member-number").data("oldVal", $("input#member-number"));
  $("input#member-number").bind("propertychange keyup input paste", function(event){
    if ($(this).data('oldVal') != $(this).val()) {
      $(this).data('oldVal', $(this).val());
      if ( isValidMember($(this).val()) ) {
        alert("success");
        // your jquery magic for success case goes here
      }
      else {
        alert("fail");
        // your jquery magic for failure case goes here
      }
    }
  });
}

function isValidMember(member_number) {
  $.ajax({
    url: "valid_member?number="+member_number,
    success: function(data) {
      return true;
    },
    statusCode: {
      404: function() {
        return false;
      }
    }
  });
}

最初の編集。

明らかに、私が上で書いたjavascriptのように、正しいID、メンバー番号を持つ入力フィールドが必要です。

于 2012-10-04T21:55:16.273 に答える