Railsで使えるGem RubyOnRailsで帳票印刷

Rails3.2でdocxを作成

投稿日:2012年10月24日 更新日:

途中経過

github.com/jawspeak/ruby-docx-templater

これを試してみた

まずローカル環境にgemをダウンロード

rake specをやってみると、encodeエラーが出る

作者は中国系の人かな

template_processor_spec.rbの最初にマジックコメント #encoding: utf8 を追加

ついでに、「教師」の単語も日本語に(47行目と49行目)

これでrake specは通った

rake integrationもすんなり通った. spec/input_example/tmpに完成したdocxファイルができてる

thinreportsと同じく任意の数のデータをうまくテーブルにしてくれる

$$が変数、##が繰り返し.##の行は完成データには現れない.

次にrubyのスクリプトから同じことをしてみる

Gemfileのあるルートに次のようなファイルを作ってみて実行.output_日付.docxというファイルができてたら成功

で、うまくのはここまで

Railsから試してみる

ここからはうまくいってない

railsでつくった適当なアプリのGemfileに次のように加える

bundle

controllerにつぎようなメソッドを書いて、route.rbとviewを書いてgetリンクをつくってみる

だがしかし、エラー

irbからやっても同じ.もちろんcontrollerにはマジックコメント#encoding: utf8を書いてある.

おそらく、読み込んだファイルを展開して(docxの正体はxmlファイルをまとめてzip圧縮したもの)、読み込んでるときに何か問題があると思うんだけど、specが通ってrailsで使えない理由が思い当たらない.エラーもFile.openのところしか表示されないので、それ以上わからない.

っていうところで投げた.orz

うまくいきました

Rails4でerbぽいテンプレートからdocxを作成〜docx_templater

-Railsで使えるGem, RubyOnRailsで帳票印刷
-,

執筆者:

関連記事

Rubyでd3.jsのapiリファレンスの一覧を取得してくる~mechanize

  d3.jsにはlayoutというおおまかに準備されたレイアウトがあって、その中にあるTreeレイアウトを試してみることにした d3.js自身のapiリファレンスが階層構造になっているので …

Rails3.2とBackbone.jsでサーバーサイドのフィルタリング

By: Haldane Martin – CC BY 2.0   テーブルに表示されているデータをサーチバーに入力した語で絞り込みたい こういうテーブルフィルタリングを実現する仕 …

Ruby on Rails 3.2でファイルアップロード〜CarrierWave & RMagick

By: Damian Gadal – CC BY 2.0 目次1 最初に2 Gemfile & bundle3 generate rb ファイル4 Modelに”ima …

SASS/SCSS+COMPASS+zurui-sass-railsで角丸・グラデ・半透明・テキストシャドウ・ボックスシャドウ

By: Ole Houen – CC BY 2.0 sass-lang.com/ Sassの基礎 (全15回) ドットインストール ネストを覚えた人のためのSassの便利な使い方 comp …

Rails3.2でajaxなフォルダツリーを導入する2~dynatree-rails

  目次1 jQuery ajax送信側2 app/views/folders/show.js.coffee3  で、コントローラーを設定4 今までのは置いといてJsonでやり取りするアプロ …