「Ruby onRails」でブログアプリをつくる④ルートの追加

Rubyonrailsアイキャッチ ウェブデザイン
※当サイトでは、アフィリエイト広告を利用しています。

※当サイトでは、アフィリエイト広告を利用しています。

この記事は、「RAILS GUIDES」を見ながら、「Ruby onRails」でブログアプリを作る過程を記録したものです。

前回、「rails new」までやったので、今回はその続きです。

今回は、ルートを追加していきます。

スポンサーリンク

Webサーバーを起動させると、Permissionの問題が発生する。

まず、「cd blog」でフォルダを切り替えます。

そして、「bin/rails server」でwebサーバーを起動させます。

また、ここでPermissionの問題が発生したので、「sudo gem install bundler」をしました。

で、「bin/rails server」を実行したら以下のようなエラーが出ました。

Your Ruby version is 2.6.3, but your Gemfile specified 3.0.2

RubyのバージョンとGemfileで指定されているバージョンが違うということらしいです。

rbenv local 3.0.2

を実行したらうまくいきました。

それでも戻ってしまったので、僕はノマドを証明しようと思う。の記事を参考に修正しました。

やっと今回の本題に入ります。

スポンサーリンク

ルートを追加する

ファイルにルートを追加するために、コントローラージェネレーターを実行します。

そして、「config/route.rb」上部にあるroutesファイルに以下のコマンドを記述して、ルートを追加します。

Rails.application.routes.draw do
  get "/articles", to: "articles#index"

  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end

ルーティングとは、ブラウザから届いたリクエストに対して、コントローラーで定義したアクションを結びつける機能のこと。

基本的な書き方は

HTTPリクエスト ‘URIパターン’, to: ‘コントローラー名#アクション名’

または

HTTPリクエスト ‘URIパターン’, controller: ‘コントローラー名’, action: ‘アクション名’

の2つがあるらしい。

スポンサーリンク

上のコマンドだと以下のように分類される。

HTTPリクエストURL(パス)コントローラー名#アクション名
getarticlesarticles#index

「get」は、Webサーバーに渡す値をURLの後ろにつけて送るHTTPリクエストの一つ。

「コントローラー」は、MVCモデルに当たるCの部分でRailsガイドには次のように書いてありました。

リクエストを処理するコントローラがルーティング設定によって指名されると、コントローラはリクエストの意味を理解し、適切な出力を行なうための責任を持ちます。

データをモデルから取得したりモデルに保存するなどの作業を行い、最後にビューを用いてHTML出力を生成する、という役割を担います。

コントローラはモデルのデータをビューで使えるようにすることで、データをビューで表示したり、入力されたデータでモデルを更新したりします。

Railsガイド

モデルとビューの間にたって、データをやりとりする役割という風に理解しました。

アクションは、何かというとユーザー側からリクエストを受けた時に実行される処理のことで、「index」というアクションは、リソースの一覧を表示させることができるらしいです。

スポンサーリンク

Viewにテキストを表示させる

ルートを追加したら、app/views/articles/index.html.erbに「<h1>Hello, Rails!</h1>」と入力し、「http:// localhost:3000 / articles」にアクセスすると、入力したテキストが表示されました。

http://localhost:3000/articlesに表示させたテキスト

今回は、ここまでです。次回も続きを行っていきます。

「Ruby onRailsでアプリをつくる」シリーズは以下から見ることができます。

ウェブデザイン技能検定3級を取得しました。

実際に行った勉強方法や、使用したサイトなどを載せていますので、これから取得しようと思っている方の参考にしていただければと思います。

ウェブ業界の経験なしでプログラミングは独学の完全な素人状態から合格したので、ウェブデザインやプログラミングに興味があるけれど、何もわからないという方もぜひご覧ください。