更新情報

初めまして。トランスネットの大谷です。このコラムでは今年から社会人となり、システム開発部門に配属されてから苦戦したことについて書いていきます。今 回は第1回目ということで最初に苦戦したことについて書きたいと思います。同じように苦労されている新人の方がいれば是非参考にしてほしいです。

私が最初に苦戦したのは「Ruby on Railsの導入からアプリケーション作成」についてです。

私 は7月から先進技術開発グループに配属されました。このグループでの開発はRubyをメインとしています。私は学生時代、Javaをメインに学んでおり、 Rubyは少し触れた程度でRubyもRailsも初心者状態です。学生時代にRubyの研修を受けたことと入社後の研修でRuby技術者認定Gold資 格に合格していたので、「私でも少しは組めるのでは?」と安易に考えていました。

しかし、実際には最初の”Railsのアプリケーション 作成”から行き詰まってしまいました。「bundle??」や「gemとは何?」というチンプンカンプンな状況でしたのでまずはbundleとgemにつ いて調べるみることにしました。gemはrubyのライブラリのようなものでそれをインストールすることにより様々な機能を追加できるということがわかり ました。そして、bundleはBundlerというgemをインストールすることにより使えるコマンドということもわかりました。Bundlerはアプ リケーションで利用したいgemを定義し、アプリケーションごとにgemのversionによる依存関係を解決することができます。 bundleinstallをすることにより、Gemfile.lockというgemのVersionや依存関係などが書かれたlockファイルが作成さ れ、これを他の人に渡すことにより同じ開発環境で開発が出来るというメリットがあります。Bundlerを入れているとアプリケーションごとにgemの管 理が簡単に出来るのでrubyで開発するには必須のものだと私は理解しました。

bundleやgemがどのような物かは調べて分かりまし たので本に書いてあるチュートリアル通り実行してみたところデータベースの指定をしてなかったためエラーとなりました。MySQLを使っているとのことで したのでデータベースをMySQLに指定してもう1回作ってみるとアプリケーションは出来たのですが、サーバーを起動してブラウザを見に行くとエラーが発 生してました。自分で本を探しても、ネットで探しても上手くエラーの原因を見つけることが出来ず、時間をかなりかけてしまいました。自分で解決することが 出来なかったので先輩に聞き、database.ymlの設定がされていないため、繋げないということがわかりました。database.ymlの設定を し「今度こそ!」と思い、サーバーを再起動して動かしてみたのですがまだ動きませんでした。エラー内容を見てみるとどうやら「dbにテーブルがない」 「db:createをしなさい」といわれている様子でした。私は単純に言われるままに端末からdb:createを打ってみたところ「コマンドが違う」 といわれてエラーになりました。db:createを調べてるとbundle exec rake db:createが正しいとわかり実行しました。エラーはでなかったのですが、少々不安になりながらもサーバーを動かしてブラウザを開いてみると無事に 画面を見ることが出来ました。データベースを指定してアプリケーションを作った場合はこのdb:createが必要なので忘れないようにしていきたいと思 います。

今回の教訓をまとめ!!

本を読んで学んだり、教えてもらうだけでは不十分で、実際にトライ&エラーでコ マンドの動きを知ることが重要です。エラーの内容に親切な説明があるので英語を恐れず読むことで解決の糸口になります。またデータベースを利用したアプリ ケーションを作る場合は「db:create!」DBをクリエイトしなければいけません。理解してみればあたり前のことですね。笑

このように少しずつRubyやRails周りのコマンドなどを理解して、Ruby on Railsが使えるようになっていきたいと思います。
それでは今回はこの辺で終わります。次回をお楽しみに♪