1

私はスキャフォールド Phone を作成しました。index.html.erb は、電話と編集/削除オプションのリストを含む単純なテーブルを示しています。jquery チェックボックスを追加して、一括削除または移動アクションを実行できるようにします。添付画像はこちら

誰かがそれを行う方法についてのアイデア/指針を教えてもらえますか?

編集 - これは index.html.erb ファイルです

<% @phones.each do |phone| %>
  <tr> 
    <td><%= phone.model %></td -->
    <td><%= phone.type %></td>
  </tr>
<% end %>

ここにはフォームがないので、 form_tag ヘルパーを使用できるかどうかわかりませんか、それとも何か混乱していますか?

ありがとう

4

2 に答える 2

2

これは出発点であり、チェック ボックスのあるフォームです。

<%= form_tag(:controller => "phone", :action => "bulk_update", :method => "PUT") %>
 <%= check_box_tag(:blackberry) %>
 <%= label_tag(:pet_dog, "Blackberry") %>
 <%= check_box_tag(:Nokia) %>
 <%= label_tag(:pet_cat, "Nokia") %>
 <%= submit_tag("Update") %>
<% end %>

次に、bulk_update というコントローラー アクションを使用すると、送信された内容に基づいてレコードを削除/更新できます。

EDIT:このためにroutes.rbにルートを作成することもできます。

于 2013-01-02T14:51:44.927 に答える
1

テーブルをフォーム ヘルパーでラップします。

<%= form_tag foo_path do %>
  # ...
  <% @phones.each do |phone| %>
    <tr>
      <td><%= check_box_tag "selected[]", phone.id %></td>
      <td><%= phone.model %></td>
      <td><%= phone.type %></td>
    </tr>
  <% end %>
  # ...

  <%= button_tag "Do something" %>
<% end %>

これにより、テーブルのすべての行にチェックボックスがあるフォームが作成されます。使用するルート ヘルパーに置き換えfoo_pathます。選択したチェックボックスの値は、配列内のコントローラー アクションに渡されparams[:selected]、そこで必要に応じて操作できます。各チェックボックスの値はid、対応するphoneオブジェクトの になります。

于 2013-01-02T17:03:11.137 に答える