ユーザーがデータベースからオブジェクトの一部を観察できるビューがあります。
class SyncController < ApplicationController
def one
@ids = get_ids(...) # ids of objects, which user can see on the view
end
end
同じビューに、この @ids によってデータベース内のオブジェクトを削除する必要があるリンクがあります。したがって、この ID のリスト ([10000、100001、100009 ...]) を次のメソッドに渡す必要があります。それを行うために、ビューにリンクを作成しました:
<%= link_to "mark_as_read", { :controller => 'Sync', :action => "two", :ids => @ids }, :class => "mark_as_read_link", :remote => true %>
コントローラーでは、このリストを反復処理してオブジェクトを削除しています。
def two
params[:ids].each { |id|
.....
}
end
この ids-list を渡すためのより良い方法があるかどうか疑問に思っています。これは非常に長くなる可能性があり、リンクに制限がないかどうかわからないからです。