「電子書籍通の俺から言わせてもらえば、電子書籍通の間での最新の流行、”青空文庫形式”。”青空文庫形式”は縦書きとルビを標準でサポート。コレで保存しても海外ではまったく役に立たないという危険も伴う”諸刃の剣”。お前らド素人はAZWでも使ってなさいってこった。【ニコニコ動画】ゴノレゴさんがア○プルに問い詰めたいことがあるようです今回紹介するのはコレ。23時50分ということからわかるようにDJネタに困ってたんだ。放置出来ないバグなのにうまい直し方がわからずDJが寝かせてたバグをサラっと解決してくれた上にネタまで提供してくれて最高だ。神とアラン・ケイとmilk1000ccに感謝。hackers!向けにDJがちょっと修正を加えてある。そもそも大元のacts_as_taggable自体、Rails初期からのプラグインで_reduxとか_steroidsとか色々派生を産んでるが品質も色々。ポリモーフィック関連が使えるようになってからは単純なacts_as_系は書いても実装は大分楽になったので若干重要性は薄れているが色々なところで使われている。自分がURLの一部として使われるタグの実装をすることを想像してみて欲しい。DJが追加したかった部分は下記。空白禁止(ハイフン使ってね)まあ、stackoverflowの仕様のパクリなんだけどね。endend要はこんな感じにTagクラスを定義したいんだけど、Tagクラスはプラグインの中だから直接修正した。(app/models/tag.rbを置いて上書きできるけど、これはクラス読み込み順番の問題でproductionでは機能しない)ところが、TagクラスのValidationエラーは誰にも拾われる事無くユーザーの前に表れやがる。:validate_tagsと186-199行目のvalidate_tagsメソッドだ。:validate_tagsRailsユーザーにはお馴染みのActiveRecord内での宣言的なメソッド指定。validateで引数のシンボルと同じ名前のメソッドをvalidate時に実行する。endend複数あるタグのエラーメッセージをflatten!してエラーに追加している。これは非常に真っ当な対処方法な気がする。DJ、エラーが出ないように適当に変換しちゃおうとしてたよ。慣れると欠かせないが、初心者キラーとして有名なので「下の書き方でいいじゃねぇか・・・」という声も。Ruby1.8.7やRuby1.9以降ではコアに含まれてるので頑張って慣れるべしというのはRubyist豆知識だ。Javascript続きで来たこの連載もmilk1000ccのお陰でRubyが登場。gistにpatch形式で貼ってくれるという親切設計・・・。hackers!はまだ収益とか上げてないので5000円しか振り込めないのがDJ情けない。FJORD社(総勢2名)の経理を担当する者としてはPayPalに「受領書を印刷」という機能があって助かった。大事なことだから強調しておこう。hackers!の報奨金支払いは経費で落ちます。Disqusはてなスターを設置しました。