【初心者向け】Ruby on Railsでアプリ開発、Webサイト作成!

プログラム

ブログや、twitterのような投稿ができ、更新ができるような双方向のアプリは魅力的です。

しかしながらRuby on Railsを始めたけれど挫折してしまった方も多いのが現実ではないでしょうか。

この記事を読むことでRuby on Railsの特徴や、どのようにすればWeb開発を行うことができるかが分かるでしょう。

Ruby on Railsの楽しさを知る

1なぜこんなに簡単に作ることができるでしょうか。

  • Ruby on Railsは名前のようにレールを引いてくれます。
  • Ruby on Railsを使うとWebアプリを簡単に、楽しく作らせてくれます。
  • すぐに作らせてくれます。rails  new アプリ名とすると必要なファイルを作ってくれます。
  • データベースも自動で、裏側で通信する仕組みが備わっています。
  • gemを使えば高度な機能を簡単に作ることができます。例えばログイン機能を1から作るのは大変ですがdeviseというgemを使うことで簡単に作ることができます。

それは、The Rails Wayという作法があるからです。Ruby on Railsには厳格なルールがあり、こうやって作りなさいと結構がちがちなのです。

1.DRY(Don’t Repeat Yourself)

 同じものを使うと間違いの元なので同じものは、使い回ししましょう。

2.Convention Over Configuration

 設定より規約。ある程度ルールが決まっているほうが自由に作成できるのかもしれません。

ブログアプリを作成しよう

まず、アプリ名で新しいプロジェクトを作成します。 今回はmyblogとします。

>Rails new myblog

上記のコマンドを打ち新しいプロジェクトを作ります。

沢山ファルダ―ができます。

ディレクトーをmybolg にして

>cd myblog

サーバー起動するにはrails serverもしくは、rails s と入力するとrailsサーバーが立ち上がります。

>rails server

サーバーが立ち上がるとブラウザで localhost:3000と入力します。localhost:3000とは、ネットワークでつながっているコンピュータのうち、自分の使っている方のことです。

Yay! You’re on Rails!と表示されます。 これだけでRuby on RailsでWebアプリを作る準備ができました。

 

ハローと表示してみよう

ブラウザーにハローと表示されるまでの流れとなります。

ユーザがらのリクエストをroutesが処理して、適切なcontrollerに渡します。

controllerからなviewが作成され、ユーザにハローが返されます。

次にcontrollerを作成します。myblogフォルダーに移動して以下のコマンドを投入します。

>rails g controller welcome index

generate は省略して g でも構いません。

welcome というフォルダーでindexというアクションをします。

class WelcomeController < ApplicationController
  def index
   @hello = "ハロー"
  end
end

ここで、Ruby on Railsで変数とHTMLのルールがを説明します。

ハローとブラウザに表示するのですが、変数helloを使ってハローを表示したいと思います。

その場合、変数の前に@をつけます。またHTMLを使う場合、<%= %>を使うことを覚えておきましょう。

views>welcome>

<h1><%= @hello %></h1>

実行すると自動的にviewsのwelcomeフォルダーにindex.html.erbを自動的に作成してくれます。ハローと書くとユーザにハローと返してくれます。

トップページの指定

今 localhost:3000をたたくと  Yay! You’re on Rails! が表示されます。

これを、トップページが表示されるようにしましょう。

先ほど記述したrouteファイルにroot “welcome#index”を追加しましょう。

Rails.application.routes.draw do
   get "welcome/index"
   root "welcome#index"
  end

welcome Controllerのindexアクションという意味です。

ドメイン名をたたいた時に最初に実行されるアクションです。最初のアクションをrooteで指定します。

これでlocalhost:3000とたたけばトップのハローが表示されます。

ブログ作成

いよいよブログ作成です。ブログを作るのはCRUD(クラッド)処理と呼ばれます。

まずデータを作成する。旅行とタイトルに入れます。とデータベースに登録されます。

作成すると内容を閲覧することができます。ちょっと修正したいな、となった時更新ができます。テキストが上書きされます。また不要となったら削除できます。

こういうのをcreate、read、update、deleteの頭文字をとってCRUDと言います。

まずはroutesへ記述します。

どこでもいいのですが、下に書きます。

Rails.application.routes.draw do
  get "welcome/index"
  root "welcome#index"
  resources :articles
end

resources :articles と書くことでこのようなroutesのルールが作られます。

Rake routes で確認することができます。

Localhost:3000/articles とたたくと articl contoller のindexアクションが実行されます。

routesファイルに「article」(記述)をリソースとして使います。と宣言しているように記述します。リソースとは、オブジェクトのことを意味します。

こうすることでarticleというリソースへアクセスすることができます。

真ん中の列は、URLを内込むところです。Localhost:3000/ここに打ち込むコマンドです。

/articles/newとたたくとarticle#new アクションへ飛びます。

では、たたいてみましょう。

localhost:3000/ articles/new

エラーがでます。

Article controllerがないとでています。

では、controllerをつくりましょう。

Controller名は、データベースと連携しています。この場合はcontroller名は複数形で使います。articlesとします。

>rails g controller articles

Controllerが作られました。

もう一度localhost:3000/ articles/new  とたたいてみましょう。

エラーがでました。ところがエラーの種類が変わりました。アクションがありませんと言っています。アクションとは先ほどの#indexみたいなものです。

Article controllerを見てみましょう。確かに、Actionがありませね。

ここで作ります。

class ArticlesController < ApplicationController
  def new
  end
end

もう一度localhost:3000/ articles/new  とたたいてみましょう。

今度はviewの中にnewがないと言っています。

エラーが出るとびっくりしますが焦らなくてもいいです。

Viewの中のcontrollerとおなじアクションを見に行くのですがここにありません。

では作ってみましょう。

同名のHTMLを身にいくのですがviewの中にnewファイルをつくります。Rubyで使えるよう.erbを忘れないようにしましょう。

では、中を書き換えましょう。今回は新規投稿とします。

新規投稿と画面に表示されました。

まとめ

  • Ruby on Railsの楽しさを知ろう
  • ブログアプリを作成しよう
  • ハローと表示してみよう
  • トップページの指定
  • ブログ作成

今回は、初心者用にパソコン画面に新規登録画面が表示するところまで書いてみました。Ruby on RailsはWEBサイト作成にぴったりの言語です。

Ruby on Railsにはたくさんのライブラリーがありそれを使うことで簡単にWebサイト制作ができます。