BLOG

最終更新日:
公開日:

ファイナンス

仕訳帳アプリ制作日記 vol.5

仕訳帳アプリ制作日記 vol.5

昨年12月から製作中の経理用「仕訳帳アプリ」について開発進捗状況をお届け。5回目となる今回は、RoR(Ruby on Rails)との格闘している経過を紹介します。

Ruby on Railsの学習に苦戦

前回の「仕訳帳アプリ制作日記 vol.4」では、HTMLコーディングが一通り終わったよーという報告をしました。HTMLが揃ったら、いよいよシステム実装です。ということで、徐々に学習を進めてきたRuby on Rails(以下、RoR)と真っ向勝負。しかしこれが中々思うように進んでいないのが正直なところ。

実はRoRの使用準備から苦戦していた

今だから言いますが、Macのローカル環境へRoRをインストールするところでかなり躓きました。こうして制作日記を書いて「順調に進んでいるアピール」をしておきながら、裏では大苦戦。思い出すだけで嫌になる。本番環境を構築するときも同じことするのか…と憂鬱です。

大きなところでは、次の3つが大変でした。

  • gemでnokogiriがビルドできずにエラー – 原因:Homebrewとgemの権限が異なっていた
  • Passengerのインストールエラー – 原因:Passengerに必要なモジュールが足りなかった
  • RoRのMysqlモジュールエラー – 原因:RoRの環境設定に失敗していた

gemでnokogiriがビルドできずにエラー

1つ目のnokogiriが原因よるエラーは検索すると同様のケースが見つかります。
nokogiriをビルドできずにrailsのインストールが失敗する。 – Qiita

原因も数パターンあるようですが、僕の環境でダメだった原因は「Homebrew」と「gem」のインストールをしたユーザー権限がそれぞれ異なっていたということでした。そりゃ無理だ。
これが原因でRoR開発は1週間ぐらい躓き、解決するまでアホみたいに時間かかりましたとさ…。

Apache + Passengerの組み合わせを用意する

ここの作業はこちらのページを参考に進めました。本当助かりました。
PassengerでRuby On Railsアプリを公開するまで – Qiita

こちらの「Passengerのインストール」部分を見るとわかりますが、ApacheでPassengerを動かすには必須なモジュールがいくつかあります。ターミナルで「passenger-install-apache2-module」コマンドを打つと必要なモジュールとヒントをくれるのですが、これがサッパリ分からない。

しばらく調べてみて分かったのは、まずApacheのAPU(Apache Portable Runtime)とAPRU(Apache Portable Runtime Utility)をインストールすること。下記のApacheのサイトからダウンロードし、makeコマンドでインストールします。
The Apache Portable Runtime Project

そして次が重要だったのですが、インストール後に「ln」コマンドでシンボリックリンクを設定する必要がありました。これをしないと動きません。

RoRのMysqlモジュールエラー

これは凡ミス。gemでmysql2をインストールするところまでは良かったのですが、「/config/database.yml」の設定記述が間違っていた…。

と、主に3つの失敗原因がありましたが、実際には細かい部分を含めて無数のエラーが発生しておりました。僕は今回の件で思ったことはただ1つ。

Ruby on Railsは本当に使いやすいのか!?

主にRoRの動く環境を用意するのが中々しんどいなーというのが感想です。いや、自分の理解不足によるところが大きいのは否定できない。

環境が整って、いざ開発に入ってからはすこぶる順調です。PHPと勝手が違う部分はあるものの、データベース周りが結構自動化されていて便利。まだ初期段階なのであれですが、SQLとか一度も書いてません。

以上のことから、ここまで進めてきた体感としては、学習コストを払えば、それ以上の開発効率はしっかり享受できるぞ!ということ。最初しんどくて「やっぱPHPで作ろうかな」とか思っていたけど、諦めなくて本当に良かった。

ちなみに現在は会員登録周りを実装しています。

会員登録ページ

引き続き、ズイズイ進めていきます。また改めて進捗報告します!

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。

前のページへ 一覧に戻る 次のページへ