joppot

コピペで絶対動く。説明を妥協しない

プログラミング

Rails pluginを使ったgemの作り方[2](rails組み込み編)

投稿日:2015年4月21日更新日:

Pocket

fr0h8

概要

みなさんこんにちはcandleです。前回に引き続き、gemの作成をやっていきましょう。
今回はgemを作成したら、それをrailsプロジェクト上で読み込み、動作テストをするところをやります。

前提

前回の記事を読んでいる。
Rails pluginを使ったgemの作り方[1](基本設定編)

Rails pluginを使ったgemの作り方[2](rails組み込み編)

Rails pluginを使ったgemの作り方[3](vendor/assets 読み込み編)
Rails pluginを使ったgemの作り方[4](controller helper編)

railsをある程度使える。


動作テスト用のrailsプロジェクトの作成

gemは単体ではしっかり動いているのか判断がしづらいものです。railsアプリケーションに作成しているローカルのgemを読み込んで、railsで動かしながら、実際に上手くパスが通っているのかや、コントローラーが呼び出されているのかを確認します。

railsプロジェクトを作ります。私はいつも、ホームディレクトリのrailsフォルダにrailsプロジェクトを作ります。gemlibというプロジェクトを作ってみます。

mkdir ~/rails
cd ~/rails
rails new gemlib –skip-bundle
cd gemlib

creategmeli

railsプロジェクトが完成しました。

ローカルのgemを読み込む

まずはrailsプロジェクトのGemfileを開きます。Gemfileにローカルのgemが置かれているパスを記述します。
前回をご覧になった方はgood_itemという自作したgemが以下のパスに作られていると思います。

~/railsgems/good_item/

これをGemfileから読み込んであげます。

適当な場所に以下を加えましょう。

group :development, :test do
  gem 'good_item', path: '~/railsgems/good_item'
end

gemload

保存したら、下のコマンドでインストールします。

bundle install --path vendor/bundle

インストールの途中で以下の様に読み込まれていれば成功です。

getgem

現段階ではgemはなにも作成してないので、どうのこうの出来るわけではないのですが、これでうまくいきそうです。

scaffoldを作成する

次回以降、gem作成をしていくのですが、その動作を確認する為にも、scaffoldを作っておきましょう。scaffoldがあれば、実際にviewやcontrollerをいじって、あれこれできます。

bundle exec rails g scaffold Post title:string description:text

createscaffold

マイグレーションをデータベースに反映させましょう。

bundle exec rake db:migrate

動作確認も含めて、railsサーバを起動して、Post scaffoldを確認します。

bundle exec rails s

以下に移動します。

http://localhost:3000/posts

Gemlibpost

上の画面が問題なく表示されればrailsプロジェクトが完成しています。

まとめ

これで、gemを試行錯誤できるrailsアプリケーションができました。次回以降、基本的なところからやっていきます。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-プログラミング
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

railsのrakeのmigrationファイルを削除しNO FILEとstatusに出た時の対処

概要 みなさんこんにちはcandleです。今回は誤ってデータベースに反映したマイグレーションファイルを不要だと思って削除した時に、NO FILEと出てきてしまった時の対処です。 言うなれば、下のような …

Stinger3のURLまたはタブの横にあるロゴを変更する

概要 みなさんこんにちはcnadleです。Stinger3のカスタマイズをしましょう。どんなwebサイトでもURLの周辺にロゴがありますよね。今回はそれを変更します。 条件 WordPressを利用し …

Mysqlのdatetime型とtimestanp型で保存されているデータを年月日だけを指定して任意の日にちのデータを取得する方法

概要 みなさんこんにちはcandleです。今日はmysqlのdatetime型とtimestanp型におさめられているデータの取得を紹介します。 datetimeやtimestanpは多くの場合下のよ …

pythonのpipでfabricをインストールする

概要 みなさんこんにちはcandleです。今回はpipでデプロイメントツールのfabricをインストールしたいと思います。 前提 pipがインストールされている

pythonのfabricでファイルを分割しfabfileに読み込む方法

概要 皆さんこんにちはcandleです。今回はfabricで分割したpythonファイルを読み込んでみましょう。 fabricはfabfile.pyというファイルに実行したいコマンドを書くのですが、 …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ