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

IntelliJ IDEAでRuby on Railsプロジェクト開発

Intellij IDEA Ruby on Rails
スポンサーリンク

IntelliJ IDEA で Ruby on Rails の開発をする方法です。RubyMine のライセンスを買わなくてもプラグインを入れるだけで可能です。

Rubyプラグインのインストール

IntelliJ IDEA を起動した画面から Configure -> Plugins -> Browse repositories で Ruby プラグインをインストールします。

f:id:tasukujp:20160507234852p:plain

Ruby プラグインは RubyMine と同じ機能が使えますが、リリースサイクルが多少違ったりするみたいです。IntelliJ IDEA + RubyMine の購入を検討してる場合は基本的に IntelliJ IDEA で事足ります。

 RubyMine and IntelliJ IDEA Ruby Plugin - Ruby/Rails IDE Development - Confluence

プロジェクトのインポート

Rails のプロジェクトをインポートします。ここでいうプロジェクトは GitHub 等から Clone してきたばかりでbundle installしてない状態のプロジェクトが対象です。

f:id:tasukujp:20160507231821p:plain

何も変更せずに Next で次へ。

f:id:tasukujp:20160508002429p:plain

こちらもそのまま Next で次へ。

f:id:tasukujp:20160508002438p:plain

プロジェクトが Ruby と認識されます。

f:id:tasukujp:20160507233521p:plain

bundle installした状態でインポートすると Gem の Java が検出されてしまいちょっと面倒です。このパターンは Create New Project でやります。

f:id:tasukujp:20160507231844p:plain

最終的に Ruby on Rails のフレームワークが検出されるので Finish で完了です。

f:id:tasukujp:20160507234110p:plain

File -> Project Structure(ショートカット⌘ + ;)を開いて SDK を Ruby に変更してください。

f:id:tasukujp:20160507235938p:plain

Tools -> Bundler -> Install で Gem をインストールしましょう。

f:id:tasukujp:20160508002245p:plain

プロジェクトの作成パターン

プロジェクトのインポートでも書いたように、すでにbundle installした状態でインポートすると上手く認識してくれないので、別の方法でプロジェクトを開きます。 IntelliJ IDEA の起動画面から Create New Project を選択してください。

f:id:tasukujp:20160508001334p:plain

対象の Rails プロジェクトのディレクトリを選択します。新しく作る訳ではなく、既に存在する(bundle install 済みの)プロジェクトディレクトリです。

f:id:tasukujp:20160508001342p:plain

プロジェクトが開いたら File -> Project Structure(ショートカット⌘ + ;)を開いて Fecets で + ボタンを押して Ruby on Rails を追加します。

f:id:tasukujp:20160508001354p:plain

module を追加して完了です。

f:id:tasukujp:20160508001411p:plain

データベースに接続

プロジェクトを開くと以下のようなメッセージが表示されますので、リンクをクリックして開きます。又はウィンドウ右側の Database タブからスパナマークのアイコンをクリックしてください。

f:id:tasukujp:20160508003452p:plain

データベースの設定をします。最初は JDBC ドライバーも無いと思うのでダウンロードしてください。

f:id:tasukujp:20160508003436p:plain

接続できたら実際にクエリを実行してみましょう。

f:id:tasukujp:20160508004158p:plain