私は既存のRails3.2アプリケーションをAJAX化していますが、クライアントから行われるリクエストの一部は非同期で実行する方が適切です。これを容易にし、レンダリング時間を短縮するために、アラートを介してユーザーにフィードバックを提供しています。application.html.erbファイルに空白のdivがあり、次のような特定のコントローラーアクションから必要に応じてアラートを追加します。
def my_async_controller_action
@user = User.find(params[:id])
begin
#@user.import
flash[:notice] = "Your data is being downloaded."
rescue Exception => bang
flash[:alert] = "There was an error downloading your data: #{bang.message}"
end
respond_to do |format|
format.js { render 'common/flashes' }
end
end
そして、私のcommon/flashes
ファイルは、jQueryを使用append
して空白のdivへのアラートを送信します。正常に動作しますが、リダイレクトを介してのみ、このようにアラートが配信されるのを見たことがありません。このアプローチを取ることによって私が破っている、書かれていない(または書かれた)Railsの規則または規則はありますか?また、代わりにこれをrespond_withとして実行する方法はありますか?1行から2種類のレンダリングを行う方法がわかりません。