joppot

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

プログラミング

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

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


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

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

関連記事

wordpressのbogoでサイトで使用する言語を「en-US」から「en」に変更する方法

English 日本語 概要 みなさんこんにちはcandleです。 今回はbogoプラグインのカスタマイズです。bogoはwordpressのサイトを簡単に他言語に対応することができる素晴らしいプラグ …

Twitterbootstrap3の開発環境構築とファイル配置、テンプレートを試す

概要 みなさんこんにちはcandleです。今回はtwitterbootstrap3のダウンロードを行い、ファイルを配置して、開発できる様に準備します。 twitterbootstrap3は最近リリース …

railsのcoffee scriptをurl判定をして実行をする方法

概要 みなさんこんにちはcandleです。 今回はcoffeescriptを任意のURLで実行する様にする関数を作ります。 というのはrailsは最終的にassetspiplineでjavascrip …

React WebでURLをaタグのリンクにして表示する

概要 みなさんこんにちはcandleです。今回はReactでコメントなどに投稿されたURLからリンクを生成する方法を紹介します。しかし、URLからリンクの自動生成は結構危険です。無尽蔵にリンク化を許可 …

railsのrakeで作成したカラムの型とdefault値を変更する方法

概要 みなさんこんにちはcandleです。今回はrakeコマンドのややこしいところを扱います。 rakeコマンドはわりと便利で、データベースのカラムの追加や型の変更をマイグレーションファイルから読み込 …

  • English
  • 日本語

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