ちまたで話題のCanonical URLですが、既存のRailsアプリケーションを Canonical URLに対応させるためのプラグインを紹介します。

config/environment.rbの中で、以下の行を追加します。

   1  config.gem 'mbleigh-canonical-url',
   2    :lib => 'canonical_url',
   3    :source => 'http://gems.github.com'

続いて、sudo rake gems:install でGemをインストールします。 次に、ViewのHEADの中に以下の一行を追加します。

   1  <%= canonical_link_tag %>

最後に、Controllerのshowアクションの中で、 respond_toやrenderの呼び出しより上に以下の一行を追加します。

   1  canonical_url article_path(@article)

これはarticlesというリソースの例ですが、 実際のアプリケーションで使っているリソース名に置き換えてください。

これで完了。 Slagを使っていたりする場合に、Permalinkをcanonical urlとして指定したりするのが典型的な使い方になるのかな。

See Also

posted by Png genki on Sat 14 Feb 2009 at 22:40

gemファイルはRubyのライブラリ配布用のアーカイブ的なファイル形式ですが、 今回はこれを展開して中身を取り出す方法を紹介します。

まずは、適当なgemファイルを用意して、tarコマンドで展開します。

   1  % tar xvf foo.gem
   2  % ls
   3  data.tar.gz         metadata.gz

このように、data.tar.gzとmetadata.gzという二つのファイルが出てきます。

続いて、data.tar.gzを展開すると、gemspecファイルに記載されている ファイル群一式が展開されます。

   1  % tar data.tar.gz

metadata.gzは、gzipで圧縮されたYAML形式のgemspecです。

追記

gemファイルを展開する方法としては、gem unpackという専用のコマンドがあるようです。見落としていた。

posted by Png genki on Sat 14 Feb 2009 at 16:35 with 2 comments

Ruby-1.9.1がリリースされて以来、 @maiha さんと一緒にMerbのRuby-1.9.1対応のための作業を続けてきましたが、 ようやくMerbアプリケーションをRuby-1.9.1で動かす事ができました。

ss http://merbi.st

決定的に重要だったのは、@ko1_twitterさんが作ってくれた methoparaです。 これによって、merbが抱えていたmerb-action-argsに関する問題を解決するための道が開かれ、Ruby-1.9.1対応を行うためのモチベーションが高まりました。

今回のRuby-1.9.1対応のために作ったパッチや、修正版のGemなどの多くは github上に残っています (http://github.com/maiha, http://github.com/genki) 残りは、http://merbi.st/pluginsで公開されています。

Good luck!

posted by Png genki on Sat 14 Feb 2009 at 15:06

先週申請していたPokéDia-1.2のアップデート申請ですが、 再申請が必要となってしまったので、問題を解決して再度申請いたしました。

今回の問題解決の過程で生じた副産物として、 Bookナビゲーション用のUIToolbarアイコンを提供いたします。

book.png

たいしたものではないので、役立つようであればご自由にお使いください。

おそらく、もう数日お待たせする事になってしまい、申し訳ありません。

See Also

posted by Png genki on Sat 14 Feb 2009 at 13:50
Contents
Canonical URLに対応するRailsプラグインの紹介
gemファイルを解体する方法
MerbをRuby-1.9.1で動かしました
PokéDia-1.2の再申請とBookナビゲートアイコンのご提供
Comments
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
tkawa: http://devcenter.heroku.com/articles/rails31_he... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ