1

最初または最後の製品の が であるadd_product_data場合、基本的に製品データを更新します。メソッドが呼び出される前に、最初または最後の製品の が である場合にフラッシュ メッセージを表示して、リクエストに時間がかかる理由をユーザーに知らせたいと思います。titleniltitleniladd_product_data

私が持っているもの:

def index
  if params["rating_set_id"]
    @products = Product.find(:all, :joins => :rating_sets, :conditions => ["rating_set_id = ?", params["rating_set_id"]])
    if @products.first.title.nil? && @products.last.title.nil?
      redirect_to :back, :flash => { :notice => "Updating missing product data..." }
      FetchRec.add_product_data(@products) 
    end

    @rating_set = RatingSet.find(params["rating_set_id"])
    @unique_dept = Product.find_by_sql("SELECT dept FROM products WHERE dept <> '' GROUP BY dept")
  else
    @products = Product.all
  end
end

設定しているので、商品データを追加してリクエストするとフラッシュメッセージが表示されます。リクエストが行われたときにフラッシュメッセージを表示する方法と、add_product_dataメソッドを呼び出す必要がある場合。

4

1 に答える 1

1

長時間実行されるリクエストがある場合は、Sidekiqなどの非同期ランナーを使用して、フラッシュ メッセージで 202 (Accepted) を返すことができます。「標準」の HTTP/HTML では、リクエストが完了する前にメッセージを表示する方法はありません。

于 2013-07-17T17:37:27.107 に答える