Webサービス開発者必見!フレームワーク「Ruby on Rails」の特徴とTips | 千葉で集客ホームページ制作はティーエスフォート
コラム

Webサービス開発者必見!フレームワーク「Ruby on Rails」の特徴とTips

今回の記事では、Webアプリケーションフレームワーク、Ruby on Railsについてご紹介していきます。

Webサービスを開発するにおいても、フレームワークの活用は必須になってきています。

Ruby on Railsとは

Rubyを使用したフレームワークのひとつとして知られるのが、Ruby on Railsです。簡単なコードでWebアプリケーションの開発ができるように設計されています。

Ruby on Railsの特徴

Ruby on Railsは、「MVCアーキテクチャ」に基づいて構築されたフレームワークです。Model(モデル)、View(ビュー)、 Controller(コントローラ)の頭文字をとって名付けられています。

Ruby on Railsでできること

元々、Ruby on RailsはWeb開発向けのフレームワークとして設計されているため、Webアプリケーションを作るのに適しています。

単純なWebサイトやSNSを初め、決済機能を備えたショッピングサイト、サイトからデータを取得するクローラーの開発などは、Ruby on Railsで作られることもあります。

コマンドリスト

1. Rubyのバージョン確認方法

$ ruby -v
$ ruby --version

2. Railsのバージョン確認方法

$ rails -v
$ rails --version

3. Railsサーバー起動方法

$ rails server

4. Gemのイントール方法

bundlerをインストールする方法をご紹介します。

$ gem install bundler
$ gem install bundler -v "2.1.4"

Bundlerとは、「gemのバージョン管理gem」です。以下のように導入とバージョン確認を行うことができます。

$ gem install bundler
$ bundler -v

Ruby on RailsのTips

Safe Navigation Operator

悪い例
articles = user.articles if user

良い例
articles = user&.articles

user.articlesだと、userがnilになる場合にNoMethodErrorエラーが出てしまいます。そのため、userがあるかどうかifで判定するのが通例です。

そんな時はSafe Navigation Operatorを使うとシンプルに表記することができます。userがnilの場合はuser&.articlesもnilになります。

Hash#dig

data = { user: { name: '太郎',
tag: { id: 1,
name: "タグ" }}}

[]をつなげた場合
data[:user][:tag][:name]
=> "タグ"

data[:user][:article][:name] # :articleが存在しない=>nilの場合
Traceback (most recent call last):
1: from (irb):9
NoMethodError (undefined method '[]' for nil:NilClass)

digを用いた場合
data.dig(:user, :tag, :name)
=> "タグ"

data.dig(:user, :article, :name)
=> nil

ネストされたハッシュやjsonからデータを取り出したいときに使えます。途中のデータがnilのときに自動的にnilを返してくれるところが便利です。

ブログアプリケーションの作成

Railsには、ジェネレーターと呼ばれる多数のスクリプトが付属しています。これらのスクリプトは、特定のタスクの作業を開始するために必要な全てのものを作成することで、開発作業を容易にするように設計されています。

その内の1つが、新しいアプリケーションのジェネレーターです。このジェネレーターにより、新しいRailsアプリケーションの基盤が提供されるため、自分でゼロの状態から作成する必要がありません。

このジェネレーターを使用するには、ターミナルを開き、ファイルを作成する権限があるディレクトリに移動して、次のコマンドを実行します。

$ rails new blog

これにより、BlogというRailsアプリケーションがblogディレクトリに作成され、gemの依存関係がインストールされます。ブログアプリケーションを作成したら、そのフォルダーに切り替えます。

$ cd blog

カスタマイズなどはBlogディレクトリーに移動してから行うことができます。

まとめ

今回の記事では、RubyベースのWebアプリケーションフレームワークRuby on Railsについてご紹介しました。

Webシステム開発にフレームワークの導入を考えている方がいたら、ぜひ検討してみてはいかがでしょうか。

 

ページ先頭へ