0

次の問題を処理する私の方法は、RoR では「やや」エレガントではなく、より従来の方法があると考える前に、私は数か月間自分の小さなプロジェクトに取り組んでいました。

私のサービスは、特定のソーシャルネットワークサービスから情報を取得するためにいくつかのjavaScript APIを使用し、情報の処理はクライアント側で実行され、JS環境は処理の結果を保存します。そのため、ページをリロードせずにユーザーと対話する必要があります。特に、作業する必要があるフィルターがいくつかあります。

リクエストの結果を発行年数でフィルタリングする必要があるとしましょう。そして、カテゴリセレクターがあります。アプリケーションを次のように動作させたい:
1. ユーザーは出版物の年齢内の日数を入力する必要があります - 「送信」または「適用」フィルター ボタンはありません
2. ユーザーがカテゴリ セレクターをクリックした後にフィルターが適用されます: RoR ヘルパーによって形成されるメインの UI コントローラーです。

<li class="cat_selector"><%= link_to category.name, posts_path(:cat_id => category.id), :remote => true%></li>

この問題に対処する「通常の」方法は何ですか? 特定のリンクの 1 つをクリックして、1 つの ajax リクエストですべてのコントロールの値を簡単に「収集」するにはどうすればよいですか? ありがとう!

4

1 に答える 1

0

デフォルトの Rails Ajax 処理を放棄して、次のようなものを独自に作成します。

$('.cat_selector a').click(function(){
   $.ajax({
      url: this.href,
      data: $("#some_form").serialize()
   })
})

これにより、一致するリンクが ajax を介して送信され、フォームから id のデータが追加されますsome_form。もちろん、任意のデータ オブジェクトを構築することもできますが、可能であればフォームを使用する方がはるかに簡単です。

于 2012-07-29T18:01:01.577 に答える