1

この質問に似たものを見たことがありますが、探しているものとはまったく異なります。質問する前に、他の場所でこれを見つけようとしました。そうは言っても。

初めての Rails アプリを作成しています。私の問題を示す簡単な例を作成します。

モデルの従業員がいるとしましょう。

各従業員には名前と役職があります。

localhost/Employees/index に移動すると、従業員のリストが表示されます。そのインデックスをユーザーがソートできるようにしたい。ユーザーが何を並べ替えるかを選択できるドロップダウンが必要です。これが PHP の場合、ユーザーの検索設定のパラメーターを渡し、別の 'ORDER BY' 値でページをリロードするだけですが、レールでこのようなことをどこから始めればよいかわかりません。

前もって感謝します、ライアン

4

2 に答える 2

1

Jquery が好きな場合は、jquery ツール DataTables によってそのタイプの機能が可能になり、より多くの機能を簡単に使用でき、インデックス ページのテーブルに適切な css を提供します。

Datatablesの使用方法を説明する以下のリンクに従ってください

http://railscasts.com/episodes/340-datatables?view=asciicast

これがお役に立てば幸いです。
ありがとう。

于 2012-05-24T08:37:18.677 に答える
1

paramsハッシュは、ユーザーがフォームを送信するときに、フォームによってコントローラーに渡されます。これを行う簡単な方法は、検索フィールドを編集するための別のフォームです。(ERB が間違っていたらすみません。通常は HAML を使用します)

あなたの形でこのようなもの。URL ヘッダーも変更します。

<%= form_tag(params, :method => :get) do %>
  <%= select_tag(:order_by, options_for_select(SET_OF_ORDERS, params[:order_by])) %>
  <%= submit_tag "Search with parameters" %>

次に、コントローラーで、find 関数で:order_byパラメータ (params[:order_by]) を使用します。

options_for_selectはフォーム ヘルパーです。

いつものように、ユーザーは URL 要求に何でも追加でき、SQL インジェクションは望ましくないため、必ず入力をサニタイズしてください。

于 2012-05-24T05:31:57.300 に答える