は、いくつかのカスタマイズを必要とする他のコントローラに上書きする機能をアプリケーションコントローラのインデックス&ショーのアクションのデフォルトのrespond_toを定義するためにどのような方法があります。アプリケーションコントローラのインデックス&ショーアクションにデフォルトのrespond_toを定義するにはどうすればよいですか?私が思っていた
私はそれを例に簡単になるだろうと思います。
私は私のPDFファイルを生成し、ユーザを認証するためにInheritedResources、カンカン/ AuthlogicとWickedPDFの宝石を使用しています。私は私のコードを枯渇させることができるかどうか疑問に思っていた。ここで
は、私はこれだけで正常に動作します
class ProductsController < InheritedResources::Base
load_and_authorize_resource
respond_to :html, :xml, :json, :pdf
def index
@products = Product.page(params[:page])
index! do |format|
format.pdf do
render :pdf => pdf_file_name,
:show_as_html => params[:debug].present?
end
end
end
def show
show! do |format|
format.pdf do
render :pdf => pdf_file_name,
:show_as_html => params[:debug].present?
end
end
end
end
class CustomersController < InheritedResources::Base
def index
index! do |format|
format.pdf do
render :pdf => pdf_file_name,
:show_as_html => params[:debug].present?
end
end
end
def show
show! do |format|
format.pdf do
render :pdf => pdf_file_name,
:show_as_html => params[:debug].present?
end
end
end
end
を持っているものです。しかし、私はpdfを生成したいすべてのコントローラでformat.pdfを定義する必要があることは冗長に思えます。これをアプリケーションコントローラに移動する方法や、継承されたリソースを使用してどこかを指定する方法はありますか?コントローラごとにこれをオーバーライドしてください。何か案は?
は、私が興味を持って他の誰のために、次の解決策を考え出したあなたに[OK]を