yucatio@システムエンジニア

趣味で作ったものいろいろ

RubyMineでRuby on railsの開発をする その6: DB (Sqlite) の設定

RubyMineでのSqliteの設定方法です。引き続き、"パーフェクト Ruby on Rails" に掲載されているサンプルアプリ (awesome_events)を使用していきます。

yucatio.hatenablog.com

Sqliteの設定

View > Tool Windows > Database を開く。

f:id:yucatio:20170204151513p:plain

Databaseウィンドウが開きます。

f:id:yucatio:20170204151645p:plain

プラス記号 > Import from sources を選択します。

f:id:yucatio:20170204151742p:plain

developmentを選択します。

f:id:yucatio:20170204151923p:plain

初回はJDBCドライバのエラーが出るので、'Download missing driver files' をクリックして、ドライバファイルをダウンロードします。

f:id:yucatio:20170204152046p:plain

Error: Driver class 'org.sqlite.JDBC' not found の対処をします。

f:id:yucatio:20170204152148p:plain

リンク先に飛ぶと、Sqliteの設定タブに飛ぶので、ここでApplyを押します。

f:id:yucatio:20170204152436p:plain

元の、コネクション作成の画面に戻ります。

f:id:yucatio:20170204151923p:plain

Test Connection でコネクションのテストをします。

成功しました。OKを押して、DBの設定を完了します。

f:id:yucatio:20170204153313p:plain

DBに接続され、テーブル一覧、カラム一覧が表示されました。 これで開発効率が上がりそうです。

f:id:yucatio:20170204153446p:plain

SQLの実行

SQLを実行します。テーブル名やカラム名SQLキーワードは補完してくれます。便利。

f:id:yucatio:20170204153734p:plain

緑の三角矢印を押して、実行します。 表形式で見れます。見やすい。

f:id:yucatio:20170204153926p:plain

ちなみに、SQLを入力するウィンドウは、データベースパネル > プラス記号 > Console File で追加することができます。

f:id:yucatio:20170204154056p:plain

環境

RubyMineでRuby on railsの開発をする その5: rspecの実行

引き続き、"パーフェクト Ruby on Rails" に掲載されているサンプルアプリ (awesome_events)のテストをRubyMineで行なっていきます。

yucatio.hatenablog.com

rspec-railsがインストールされていることが前提となります。

rspec install の実行

f:id:yucatio:20170129233135p:plain

rspecをinstallします。

f:id:yucatio:20170130084359p:plain

環境は development のままOKボタンを押します。

f:id:yucatio:20170130085058p:plain

ファイルごとのテスト

ファイルごとのテストは、ファイルを開いて、右クリック > Run 'Run spec ...' を選択します。

f:id:yucatio:20170202000625p:plain

実行結果が表示されました。

f:id:yucatio:20170202000803p:plain

全テストケースの実行

全テストケースの実行は、Run > Run... を選択して、

f:id:yucatio:20170116001612p:plain

spec: プロジェクト名 を選択します。

f:id:yucatio:20170202001225p:plain

実行されました。テストが失敗していることがわかります。

f:id:yucatio:20170202001449p:plain

次回はDBの設定です。

yucatio.hatenablog.com

環境

RubyMineでRuby on railsの開発をする その3: rails generate controller

前回に引き続き、"パーフェクトRuby on Rails" に掲載されているサンプルアプリ (awesome_events)の開発をRubyMineで行なっていきます。

yucatio.hatenablog.com

rails generate controller

controllerを作成します。 プロジェクト名を右クリック > New > Run Rails Generator... f:id:yucatio:20170129233135p:plain

Generator名に'con'と入れれば、'controller' が候補に出てくるので、選択します。 f:id:yucatio:20170129230339p:plain

コントローラ名とアクションを入力して、OKを押します。 f:id:yucatio:20170129230156p:plain

rails generate controller が実行されました。 f:id:yucatio:20170129230524p:plain

次回はモデルを作成します。

yucatio.hatenablog.com

環境

RubyMineでRuby on railsの開発をする その4: rails generate model と db:migrate

前回に引き続き、"パーフェクト Ruby on Rails" に掲載されているサンプルアプリ (awesome_events)の開発をRubyMineで行なっていきます。

yucatio.hatenablog.com

rails generate model

controller と同様、

プロジェクト名を右クリック > New > Run Rails Generator...

を選択します。 f:id:yucatio:20170129233135p:plain

'model'を検索して、選択します。 f:id:yucatio:20170129231416p:plain

モデル名とカラム名、型を入力します。型は途中まで入力すれば、サジェストしてくれます。便利! f:id:yucatio:20170129231922p:plain

rails generate modelが実行されました。 f:id:yucatio:20170129232138p:plain

rake db:migrate

続いて、DBのマイグレーションを行います。 対象のマイグレーションファイル上で右クリック > Run 'db:migrate' f:id:yucatio:20170129232417p:plain

db:migrate が実行されました。 f:id:yucatio:20170129232638p:plain

次回はテストの実行です。

yucatio.hatenablog.com

環境

RubyMineでRuby on railsの開発をする その2: bundle install の実行

前回の記事で、railsのプロジェクトフォルダの作成(rails new)を行うことができました。

yucatio.hatenablog.com

さっそく自分のアプリを作るぞ、と思いましたが、新しいことを一気に始めると混乱するので、まずはRubyMineを使用して、"パーフェクトRuby on Rails" に掲載されているサンプルアプリ (awesome_events) を作成します。

GemFileの書き換えとbundle install

必要なGemをGemFileに記載します。(slim-rails だけ本とは違います)

f:id:yucatio:20170129223749p:plain

bundle installを行います。 Tools > Bundler > Install を選択します。 f:id:yucatio:20170129224220p:plain

オプション画面が開きます。今回は何も入力せずにInstallボタンを押します。 f:id:yucatio:20170129225235p:plain

bundle installが実行されました。 f:id:yucatio:20170129225011p:plain

次回に続きます。

yucatio.hatenablog.com

環境

RubyMineでRuby on railsの開発をする その1: RubyMineインストールとプロジェクトの作成

JavaからRubyにきて困ったことの1つは、無料のIDEが無いことです。eclipseの便利さになれきった自分には、vimのカスタマイズがおっくうに感じられてしまいました。コマンドラインでいちいちrailsのコマンド入力するのも面倒。 (でもこの、面倒って思う気持ちはエンジニアとして大切だと思う。)

というわけで、有料ですが、RubyMineをいれてみることにしました。

RubyMineのインストール

まずは30日の無料体験版をインストール。

www.jetbrains.com

GET FREE 30-DAY TRIAL からインストールします。

新規プロジェクトの作成

インストールが終わったら起動します。

f:id:yucatio:20170115230518p:plain

Create New Project (プロジェクトの新規作成) を選びます。

f:id:yucatio:20170115230745p:plain

Location (プロジェクトフォルダ)、SDKrailsのバージョン、DBの種類を選びます。

今回はminitestでなくrspecを使用するので、Skip Test::Unit files にチェックを入れます。

rails new が実行され、railsディレクトリが作成されました。

f:id:yucatio:20170115232624p:plain

rails server の実行

サーバを起動してみます。

Run > Run ‘Development: awesome_events’ で起動します。 f:id:yucatio:20170116001600p:plain

Run ‘Development: awesome_events' がない場合は、Run > Run… でダイアログを開き、Run 'Development: awesome_events’ を選択します。 f:id:yucatio:20170116001612p:plain f:id:yucatio:20170116001625p:plain

rails server が実行され、デフォルトのrailsの画面が表示されました。 f:id:yucatio:20170116001657p:plain f:id:yucatio:20170116001709p:plain

サーバを停止するには、Run > Stop ‘Development: awesome_events’ を選択します。 f:id:yucatio:20170116001725p:plain

次回に続きます

yucatio.hatenablog.com

環境
  • Mac : Sierra 10.12.2
  • Ruby : 2.3.3
  • Rails : 4.2.6
  • RubyMine : 2016.3.1

頭の体操[初級] 連続したフィールドの入力で、途中の未入力欄を検知 (Ruby編)

前回の記事の続きです。

yucatio.hatenablog.com

入力の途中で空欄があったらエラーメッセージを表示する機能を実装します。

f:id:yucatio:20160718141604p:plain

実装してみよう

サンプルとして、以下のようなメソッドを作成します。

  • 引数にStringの配列を受け取る
  • 配列の途中に空文字があり、その欄より後に空文字でない要素がある場合は、エラーメッセージを表示する。メッセージ中には何番目の要素がエラーかを表示する。

こんな動作イメージです

arr = ["佐藤", "鈴木", "高橋", "", "伊藤", "", "", "", "", ""]
detect_empty_field arr

# OUTPUT
# 4番目のフィールドが空です。値を入力してください。

簡単のために、以下を前提とします。

  • 引数で渡される配列はnilではない
  • 配列中の各要素はnilでない
  • 配列の各要素はString

この記事ではRubyで実装します。

実装は続きを読むをどうぞ

続きを読む