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で帳票印刷
-,

執筆者:

関連記事

no image

Mongoidのandとorで悩み中

and

or

  orの方はハッシュで[crayon-5c …

no image

Rails3.2からBackbone.jsとD3.jsを使う一例

目次1 Backbone.jsからD3.jsを使う2 RailsのネストしたURLでBackboneを使う Backbone.jsからD3.jsを使う d3.jsで力指向グラフを使って遊ぶ2のクラス構 …

Rails3.2でリアルタイムメッセージング~Private_pub、Faye

  Railsで簡単に非同期通信ができるPrivate_pubというgemを試した もともとrubyにはFayeという非同期通信ができるgemがあったが、簡単に安全な接続ができる実装を加えた …

RailsにTwitter Bootstrapのフォームを設定する~simple_form

環境 RailsにTwitter Bootstrapを設定する~twitter-bootstrap-rails github.com/plataformatec/simple_form 目次1 Gem …

Rails3でテストカバレッジを計測する~simplecov,thin

    rspecなどのテストでテストがどの程度カバーしているのかを簡単に計測するsinplecovというgemをいれた 目次1 Gemfile & bundle2 spe …