rubyで作る帳票で結構いいのがありました。
thinreportです。テンプレートを作るソフトもついているので、かなり使いやすいです。
rubyを使っている方は一度試してみたらどうでしょうか?http://www.thinreports.org/
それをrailsで使いやすくしたのがthinreports-rails。これもrailsの考え方の延長上で上手く作られているので、使いやすいです。https://github.com/takeshinoda/thinreports-rails
使い方
テンプレート作成ソフトでreport.tlfを作成して、/view/books/report.tlfとして保存
locals/routes.rb
thinreportです。テンプレートを作るソフトもついているので、かなり使いやすいです。
rubyを使っている方は一度試してみたらどうでしょうか?http://www.thinreports.org/
それをrailsで使いやすくしたのがthinreports-rails。これもrailsの考え方の延長上で上手く作られているので、使いやすいです。https://github.com/takeshinoda/thinreports-rails
使い方
resources :books do
collection do
get 'report', :format => :pdf
end
end
コントローラー
class BooksController < ApplicationController
def report
@books = Book.all
respond_to do |format|
format.pdf
end
end
end
app/views/books/report.pdf.thinreports (この形式のファイル名)
report.set_layout # ! <= Required. default use: books/report.tlf
report.start_new_page
report.page.values printed_at: Time.now
@books.each do |book|
report.page.list(:list).add_row do |row|
row.item(:col1).value book.name
end
end
ファイルをクライアントで保存させる場合はコントローラを以下のように変更
class BooksController < ApplicationController
def index
@books = Book.all
respond_to do |format|
format.pdf {
send_data render_to_string, filename: 'foo.pdf', type: 'application/pdf', disposition: 'attachment'
}
end
end
end
0 件のコメント:
コメントを投稿