読者です 読者をやめる 読者になる 読者になる

隠すほどの爪なら無い

自分自身の、この自我というものが消滅することへの覚悟はできた。苦しみからの開放・・・。だけど、だけどあと少しだけ、続きが見たい…!

Railsの導入にたいへん苦労

HerokuでPHPアプリを動かせるようになって気をよくし、今度はウワサのRuby on Railsでいっちょやったるかー!という雰囲気になってきました。

ということで「さすがウサワに名高いRails、いとも簡単に導入できたわ!」と高笑いをしようと思っていたのですが、相当てこずっています・・・。

Rubyをインストールし、gemをインストールし、

$ gem install rails

とするとrailsがインストールされます。

そして

$ rails new test  

とかやると、カレントフォルダにtestというアプリができます。

そのフォルダに移動して、rails serverというコマンドを打つとWebサーバーが起動してテストができます。

$ cd test

$ rails server

この辺、apacheでcgiの設定とかガシガシしていた経験があると、かえってハマります。うーん、パラダイムシフト。

アプリのフォルダの中にあるappフォルダの中にviewsやらcontrollersというフォルダがあり、その中にコードを書きます。

viewsのなかにあるapplication.html.erbといったファイルはhtmlのなかにrubyのコードを埋め込めるヤツです。PHPのようなものにあたるもののようです。

PHPみたいにerbのなかにガッツリコードを書くことも不可能ではないようですが、MVCアーキテクチャにしたがって複雑な処理はhelpersのなかにあるapplication_helper.rbというrubyファイルを編集し、コードを記入しないといけないことになっています。(MODEL、VIEW、CONTROLLERの分離)。というか、それをしてしまうとrailsを使っている意味がありません。

とま、以上は教科書に書いてある通りです。

新しいコントローラーを作るには、コマンドラインから

$ rails generate controller HelloWorld

とかやると、上記viewsフォルダとhelperフォルダ、controllerフォルダに該当する名前のファイルが勝手に作られるので、その中身をいじくっていきます。

誤解を恐れずに言えばASP.NETをコマンドラインでやっている感じです。

フレームワークを動かすためにデータベース(RDBMS)が必須で、標準ではフリーのsqlite3が使用されているのですが、Herokuはsqlite3をサポートしておらず、postgresqlを使えと書いてあります。

だが、ローカル環境でpostgresqlを動かす試みも、git push heroku masterしたときだけpostgresqlを使うようにするGemfileの設定も、ことごとく失敗しています。

そもそも、ここまで来るのに環境構築にたいへん苦労した・・・。いったい誰がRailsは簡単にアプリが作れる!とかいったんだ~!

まあ多分、私が中身をちゃんと理解していないからでしょう。

いまさら間抜群ですが、がんばって理解します。