我想知道是否有任何方法来定义索引&索引&的默认respond_to显示在应用程序控制器中的操作,并具有在需要一些定制的其他控制器中重写的能力。如何为应用程序控制器中的index&show动作定义default respond_to?
我认为用一个例子会更容易。
我使用了InheritedResources,CanCan/Authlogic和WickedPDF gems来生成我的PDF和授权用户。我想知道如果我能干掉我的代码。
这里是我有什么
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似乎是多余的。有什么办法可以将它移动到应用程序控制器或指定使用继承资源的地方,然后在每个控制器的基础上覆盖它?有任何想法吗?
谢谢