Home‎ > ‎ProgramTool‎ > ‎

RubyOnRails

081229_2123
ずーっと、さわってなかったんだけど、今2.2系にまでなってるのね。
国際化もとり込まれて、comfig.gemで、gemとも連動して、すごく便利になってるっぽ。
あと、今は、Passenger (Apacheのモジュール)でホストするのが主流らしい。
Ruby1.9でも、そろそろ動くようになりつつあるみたいだし。
merbとも一緒になるってはなしだし、次なにかつくるとしたら、やっぱりRailsでやりたいかなとおもう
今日この頃でした。
(WEB+DB vol.48 読んで)

インストール

http://wiki.rubyonrails.org/rails/pages/GettingStartedWithRails
OSXなのでRubyはいってるけど。

DarwinPortsからいれておくと後できりわけが楽なので、も一度入れておく。
というか、OSXでデフォで入っているやつだと問題があるらしい。

http://darwinports.opendarwin.org/ DarwinPorts

ちなみに、apach2、mysqlなど、諸々portでインストールしている。 portでは、引っかかったり、ビルドに時間がかかって仕方がなかったり、いろいろあるがここでは割愛。 私と同じようにportで開発環境を構築しているのでなければ、あまりお薦めはしない。 portのコマンド群は、/opt/local/ の下に置かれるので、パスを通しておかねばならないこと、GUI系のアプリケーションで、デフォルト位 置である/usr/bin/などにコマンドがあることを想定してあり、動かないモノがあるといった問題などが起こるかもしれないからだ。 逆に、portを使っていてうれしいのは、/opt/以下のフォルダをi-pod等の外部ハードディスクにコピー、あるいは/opt/からシンボリックリ ンクを張れば、OSXのメジャーバージョンが合っているマシンであれば、即席の自分の開発環境を作れてしまうというところにある。また、どこに何のコマン ドややライブラリがあるか?といったことも非常に把握しやすい。一旦ビルドしてあれば、バージョンの差し戻しも簡単にできる。

http://www.rubyonrails.org/ Ruby on Rails

OSXなら、Locomotiveも楽ちんでよいとおもう。 また、TextMateやskEditのような、エクスプロラー付きタブエディタはあった方がよい。

Apacheの設定はあとまわし。

「3. Make a Rails application」をやると、ベースをさくっと作ってくれる。
rails myapp
後は、このディレクトリの中で
ruby script/server (実際には、ports の方のrubyを呼び出すので、/opt/local/bin/ruby script/server )
で、以下に立ち上がっていたりする。
http://localhost:3000/

チュートリアル

最初にやってみるチュートリアルとして適当だったので、下記ためしてみる。
http://blog.livedoor.jp/zep716/archives/24182409.html

ほとんどマンマ、簡単にできる。

scaffold :recipe
こんなので、データベースへのインプット、リストなどを勝手に作ってくれるらしい。
ひっかかったのは、DBのテーブルの作り方くらい。phpMyAdminだと、勝手にidは作ってくれないのでね。
http://www-06.ibm.com/jp/developerworks/linux/050708/j_l-rubyrails.html

カスタマイズなんだけど

ruby script/generate scaffold recipe
scaffoldの実際にやってくれてる内容がはき出される。

後は、これを元にいじるという感じかな?


続きはまた。
  • 最も単純なアプリケーションの作成。
  • 英文のチュートリアル。
  • ソース公開されているアプリケーションの読み込み。
  • 作ろうとしているもの。
  • プログラマではない私がこんなことをしている理由。

について書いてみたい。

トラブル

文字コード

アプリケーションは、ちゃんと動いている気がするのにphpMyAdmin で化ける。
何でかなと思ったら、mydatabase.ymlに下記がなかった。 orz
encoding : utf8

エラーが出る。ログを見ると Lost connection が出ている。 

ググってみると、そういう場合には gem install mysql しろ、というのが常識のようで、試してみる。

Comments