Ruby on rails 是否有一个简单得可笑的rails报告插件?
为Rails应用程序重写报告代码已经过时了。您必须创建查询、路由、操作和视图…(是的,我很懒)是否有任何东西可以用更少的步骤创建完整的报告 以下是我认为最理想的情况: 您有一个报告记录,其中包含名称、查询代码(Ruby或SQL)以及一些报告选项,例如:Ruby on rails 是否有一个简单得可笑的rails报告插件?,ruby-on-rails,reporting,report,ruby-on-rails-plugins,Ruby On Rails,Reporting,Report,Ruby On Rails Plugins,为Rails应用程序重写报告代码已经过时了。您必须创建查询、路由、操作和视图…(是的,我很懒)是否有任何东西可以用更少的步骤创建完整的报告 以下是我认为最理想的情况: 您有一个报告记录,其中包含名称、查询代码(Ruby或SQL)以及一些报告选项,例如: Report.create(:name => "With last name 'smith'", :query => "Person.where( :last_name => 'smith' )")
Report.create(:name => "With last name 'smith'",
:query => "Person.where( :last_name => 'smith' )")
这将存储一条记录,您将动态获得一条路由:
method : report_with_last_name_smith_path
http : GET
url : /report_with_last_name_smith
options : {
:controller => 'reports',
:action => 'with_last_name_smith'
}
报告记录将从查询中检索所有列(碰巧是所有列)
在本例中为people表中的列),并生成一个包含如下数据的视图(假设这是html):
有谁知道一个插件可以帮助实现至少一部分
顺便说一句,Ruport gem可能与Rails 3不兼容,老实说,它有点笨拙。这里有一些东西让我们几乎达到了目的: 在动态报表中,您创建一个指定几个参数的报表类,并添加一个控制器操作以指定用于结果的查询 以下是网站上的示例:
# In some class that you create
class OrdersReport < DynamicReports::Report
title "Orders Report"
subtitle "All orders recorded in database"
columns :total, :created_at
link :total, '/report/item_sales?id={id}' # => Will substitute ID for the value of ID associated with that record
end
# In any controller of your choosing:
def orders
@orders = Order.find(:all, :limit => 25)
render :text => OrdersReport.on(@orders).to_html, :layout => "application"
end
#在您创建的某个类中
类OrdersReport将用id替换与该记录关联的id值
结束
#在您选择的任何控制器中:
def订单
@订单=订单。查找(:全部,:限制=>25)
render:text=>OrdersReport.on(@orders.to_html,:layout=>“应用程序”
结束
文档中没有提到任何路线,所以我想我们必须自己创建这些路线
它还允许您使用所需的任何布局或自定义模板,并使用Google charts API生成图表。以下是一些让我们几乎达到目的的东西: 在动态报表中,您创建一个指定几个参数的报表类,并添加一个控制器操作以指定用于结果的查询 以下是网站上的示例:
# In some class that you create
class OrdersReport < DynamicReports::Report
title "Orders Report"
subtitle "All orders recorded in database"
columns :total, :created_at
link :total, '/report/item_sales?id={id}' # => Will substitute ID for the value of ID associated with that record
end
# In any controller of your choosing:
def orders
@orders = Order.find(:all, :limit => 25)
render :text => OrdersReport.on(@orders).to_html, :layout => "application"
end
#在您创建的某个类中
类OrdersReport将用id替换与该记录关联的id值
结束
#在您选择的任何控制器中:
def订单
@订单=订单。查找(:全部,:限制=>25)
render:text=>OrdersReport.on(@orders.to_html,:layout=>“应用程序”
结束
文档中没有提到任何路线,所以我想我们必须自己创建这些路线
它还允许您使用任何您想要的布局或自定义模板,并使用Google charts API生成图表。在我的项目中,我使用ransack gem,这很神奇,它允许您的用户进行自定义查询,并且您可以自定义可用的属性 看一看