2008年 9月 の記事

[Ruby on Rails] RESTfulルート名に不可算名詞を使う方法

 早速、問題発生⇒解決しました。ネットで調べればわかることは基本的に書きませんが、今回は海外サイトまで行ってしまったので、備忘録として残しておきたい思います。 RESTfulルート名に不可算名詞を使う方法 開発環境 Ruby 1.8.6 Rubygems 0.9.4 Rails 2.0.2 問題概要  Railsではテーブル名やMVCの名称に共通の単語を用いて管理されます。  ex) テーブル名:jobs モデル名:job.rb コントローラ名:jobs_controller.rb  この時、複数形が変化する単語(”Person”⇒”People”)などを指定してもちゃんと変換してくれます。しかしこれが単複同形の英単語だった場合、問題が発生してしまいます。  ex) テーブル名:fish モデル名:fish.rb コントローラ名:fish_controller.rb  私は”Series”という単語を使用して scaffold で作った登録画面に入ったところ、このようなエラーが発生しました。 series_url failed to generate from {:action=>”show”, :controller=>”series”} - you may have ambiguous routes, or you may need to supply additional parameters for this route. content_url has the following required parameters: ["series", :id] - are they all satisfied?  こうなることは scaffold を実行した時点で予想できていましたので、さっさと妥協して”Series”という単語を使用することを諦めようかとも思ったのですが、これも勉強ということでエラーを調査してみました。 解決方法  こちらのサイトで拝見して解決しました。 Strange error…. ActionController::RoutingError How To: Uncountable Names in RESTful Routes  原因を一言で言えば、やはり不可算名詞”Series”が問題でした。数えられない名詞(単複同形名詞)を使用すると、RESTful機能で問題が発生するようです。なお、Rails - [ 続きを読む ]

[Ruby on Rails] Ruby on Rails を始める

 先日から唐突に”Ruby on Rails”を勉強しています。最近、仕事で様々な場所に行くことが多いんですが、そのどこからでも便利なツールを呼び出したいと思い、自己開発ツールのWeb化に乗り出すことにしました。  ですが、私はプログラマレベルとしてはPGの中で底辺にいるような人間です。.NET FrameworkやらERPに甘やかされた『ゆとりプログラマ』とでも言うべき存在です。せいぜいJavaのServletで簡単な社内ツールを作ったことがあるレベルですので、いきなりWeb化といっても途方もない話でした。  以前の調査では Google App Engine を Python で動かすなどということを目論んでいましたが、デザインがGoogleっぽいデザインにしかできない…らしき記事を読んだので、勉強を止めてしました。そこで改めてネットで情報を集めてみました。  その結果、フレームワークの雄”Ruby on Rails”の名前がよく耳に入ってきました。以前、業務で”Struts”をやった時に同じフレームワークとして名前は知っていましたが、内容については一切知りませんでした。ふと、興味を持って”Ruby on Rails”について調査してみると、これがとんでもなく有能で、私のローカルシステムをWeb化するにあたり、工数の大幅削減が見込めることが分かりました!!  なお、日本で最近シェアを伸ばしているPHPのフレームワークである “CakePHP” も検討しましたが、PHPだと業務っぽいので止めましたw  思い立ったが吉日ということで、早速、さくらインターネットでスペースを借りて”Ruby on Rails”環境を整えました。参考にしたサイトは以下です。 Ruby on Rails 2.0 チュートリアル - 基本はここで学びました。 がんちゃんのブログ: さくらのレンタルサーバーにRuby on Rails 2.0.2をインストールする方法 - 『さくらのレンタル~』シリーズをすべて見て、さくらに環境を整えました。 CodeZine: Ruby on Rails用 統合開発環境(IDE) 比較レポート - IDEがないかと調査したときに参考にしました。結局、サクラエディタのRubyモードで書いてますがw @IT: かんたんAjax開発をするためのRuby on Railsの基礎知識 - RailsとAjaxの組合せの解説です。現在、前編のみ。後編が待ち遠しいです。  とりあえず基本はなんとなく理解しました。現在はscaffoldで出来たマスタ画面を作りこんでいます。デザインなんかはなつかしのCSSでゴリゴリと。。。  まぁ急がず、ぼちぼちやっていきたいと思います。 - [ 続きを読む ]