我一直在构建一个执行会计功能的Rails应用程序.作为其中的一部分,我有一个带有类名的模型Transaction
.到目前为止一直很好,我已经建立了这个功能一个月左右,一切都按预期工作.
到现在...
我刚刚发现一些使用Ruport库在几个月前开发的旧报告功能已停止工作.看来,Ruport在生成PDF时需要一个也有类/模块命名的库Transaction
.
TypeError in Admin/team reportsController#generate
Transaction is not a module
...
This error occurred while loading the following files:
pdf/writer
transaction/simple
Run Code Online (Sandbox Code Playgroud)
所以,我正在寻找一个快速解决方案.一个希望不涉及重命名我的Transaction
模型和重构最后几周的代码.
期待一些聪明的建议:)
我想在我的Rails应用程序中添加报告功能,现在我正在努力使用哪种报告软件来创建我的PDF文档.
在对它们进行实验后,我发现它们都非常强大且非常普遍,但它们也有不同的特点,我担心从长远来看,我可能会做出错误的选择.
Ruport和Prawn如何在大型复杂的应用程序中相互比较长期使用?
先感谢您!
我正在制作成绩簿报告 - 一个二维表格,显示水平的课程名称和垂直学生的列表.
Student Name | LessonID x | LessonID x | LessonID x
Joe 95% 95%
Mary 80% 80%
Sam 80% 80%
Run Code Online (Sandbox Code Playgroud)
我的数据位于包含以下字段的表中:
student_id, lesson_id, grade_in_pct, grade_in_pts, grade_high, grade_low, grade_median
Run Code Online (Sandbox Code Playgroud)
学生和课程总数不固定.
我考虑过使用ruport/acts_as_reportable或mysql pivot程序,但看起来这个pivot只给了我一个维度.所以这不会起作用,因为在我看来,我想添加鼠标悬停功能和条件格式以显示每个年级的更多信息.
所以我认为我唯一的选择是生成一个嵌套的哈希,然后在视图中循环它.你的想法是什么?有人可以建议一种方法来构建嵌套哈希吗?循环250行(约50名学生,每门5堂课)是否过于处理器密集?
我被卡住了.请帮忙.谢谢!
我需要为我正在处理的Ruby on Rails项目生成格式化的文本打包单.我正在考虑使用Ruport或者只是将自己格式化为字符串并将其输出到文本中.唯一的挑战是适当地证明所有输出.它需要看起来像这样,总是正确对齐.有什么建议?
Company Name
(T) 1-800-123-1234
(E) info@company.com
BILL TO: CUSTOMER NAME SHIP TO: CUSTOMER NAME
123 Some Street 321 Some Street
Address etc. Address etc.
Date: 2010-03-12 16:30
Payment Number: 1234-123456
LN NAME SKU DESCRIPTION QTY PRICE TOTAL
----------------------------------------------------------------------------------
001 Product name GUDB 012 HGQ product description 2 52.99 105.98
- Color
Run Code Online (Sandbox Code Playgroud) 我正在尝试评估Ruport在我的Rails应用程序中使用,但我不确定如何使用日期/时间戳记拍摄一系列记录并通过Ruport的分组功能对它们进行分组.
如果Ruport没有意义,我会接受其他/更好的方法来做同样的分组.
对不起我的英语不好.
我正在关注这个tuto:http: //ruportbook.com/printable_documents.html ,第一个例子,但我得到未定义的方法`每个'为"":字符串一直,我用这段代码创建了一个新文件:
class MultiTableController < Ruport::Controller
stage :multi_table_report
class PDF < Ruport::Formatter::PDF
renders :pdf, :for => MultiTableController
build :multi_table_report do
data.each { |table| pad(10) { draw_table(table) } }
render_pdf
end
end
end
Run Code Online (Sandbox Code Playgroud)
然后,在名为workers_controller.rb的现有控制器中,我执行了下一个操作:
def index_report
t1 = Table(%w[a b c]) << [1,2,3] << [4,5,6]
t2 = Table(%w[a b c]) << [7,8,9] << [10,11,12]
pdf = MultiTableController.render_pdf(:data => [t1,t2])
end
Run Code Online (Sandbox Code Playgroud)
我当然把这条路线添加到routes.rb.
然后,我在浏览器上收到此错误:
undefined method `each' for "1":String
Run Code Online (Sandbox Code Playgroud)
但错误不仅发生在这个例子中,我已经尝试了许多其他例子,我得到了同样的错误.
一些帮助?请提前!问候.