- 更新日: 2017年03月22日
- 公開日: 2016年02月10日
作って学ぶRuby on Rails Vol.1 まずはControllerとActionを作ってみよう!
webサイトの制作について
これから行うWebサイトの制作では、基本的にMVCのCであるControllerの作成と、VであるViewの作成を行います。Webアプリケーション(動的)ではなく、Webサイト(静的)を制作するという意図としては、まずRuby on Railsのお作法や作業手順を学んで頂くことに重点を置きたいからです。
本項からそのお作法や作業手順を学習していきます。
ControllerとActionの作成
Railsでは静的なWebサイトを作成する上で、最低限ControllerとViewが必要になります。
※Actionとは、Viewを表示するためのメソッドのことです。詳細は後述します。
Controllerを作成する前に、config/initializersディレクトリの配下にファイルを新規作成し、下記コードを記述してください。※現時点ではそのまま写していただいて問題ありません。
Rails.application.config.generators do |g|
g.helper false # helperクラスを生成しない
g.assets false # CSSとJSを生成しない
g.skip_routes true # ルーティングを変更しない
g.test_framework false # テストスクリプトを生成しない
end
コメント部分にも記述されていますが、generate.rbを作成することでControllerクラスを作成する際に、不要なファイルが自動生成されるのを防ぎます。
Ruby on Railsにおける自動生成機能は大変便利なのですが、初めて触れる方にとっては逆に理解の妨げになってしまうためです。
上記のファイルを追加した後に、
$ rails server -b 0.0.0.0 -p 8080
を実行してください。ファイルを追加する際に文法エラーやファイル名の不正等があった場合に正常にコマンドが実行できないので、上記コマンドはエラーの確認にもなります。
正常に動作していたらCtrl+Cで動作を終了させて下さい。エラーが出ていた場合、記述内容やファイル名、ファイルの配置場所を再度確認して下さい。
エラーになった際の画面
エラーになった際は、上の図のようにエラーの箇所と内容、その他にずらずらとエラーメッセージが表示されます。上の図だと、generate.rbの2行目にsyntaxerrorというエラーが出ていることがわかります。
※syntaxerrorは文法エラーを意味します。
続いて、ControllerクラスとActionを作成していきます。
Controllerクラスを作成するには、下記のコマンドを実行します。
$ rails generate controller top index
上記のコマンドは、indexというActionを持つ、topという名前のControllerクラスを生成するという意味になります。
実行結果
実行した結果、上の図のように表示され、2つのファイルがappの配下に作成されたことがわかります。
・app/controller/top_controller.rb
・app/views/top/index.html.erb
top_controller.rbの内容
index.html.erbの内容
テキストに対してrubyのコードを埋め込む際に使用する記法です。
後述しますが、html.erbファイルに対して<% 〜 %> と記述することで〜の部分のrubyで記述されたコードをViewで実行することができます。
上の図のように、作成されたtop_controller.rbの内容を確認すると、
class TopController < ApplicationControllerと記載されています。
これは、ApplicationControllerを継承したTopControllerクラスであることを意味します。
継承については、ここでは解説しませんが、ApplicationControllerの内容を引き継いでいるという理解で大丈夫です。
top_controller.rbと同じディレクトリにapplication_controller.rbというファイルが存在するので、そのファイルの内容を引き継いでいるという意味になります。
また、defindexと2行目に記述されていますが、これはメソッドになります。
Controllerに記述する、画面表示用のメソッドのことをRuby on RailsではActionと呼びます。(呼称が異なるだけで、Rubyにおけるメソッドと同じです。)
■ControllerとActionの作成
・上記コマンドは、yyyというActionを持つ、xxxという名前のControllerを作成するという意味になります。
|
NEXT LESSON ☛ ルーティングを勉強しよう!
PREV LESSON ☛ これでバッチリcloud9!Railsが使える環境設定をしよう!
目次 - Ruby & Ruby on Rails テキスト目次 -
- この記事を書いた人
- CodeCampus編集部
人気記事
- 【2022年版】社会人でも通いやすいプログラミング教室5選|選び方の基準も解説プログラミング学習プログラミングスクール・サービス
- 塾講師からエンジニアへ26才で転職。先生の支えがあって成長できました。受講生インタビュー
- 様々なフィールドで活躍するエンジニアを育てていきたい【CodeCamp人気講師 #12 舘先生】講師インタビュー
- 【初心者〜上級者まで】python学習におすすめの本・レベル別3選+αPythonプログラミング書籍・参考書
- 【PHP入門徹底ガイド】初心者のための学習ロードマップPHPプログラミング入門
- コロナに負けるな!プログラミング&YouTubeで頑張る人が作るべきアプリPythonHTMLCSSお役立ち情報アプリ学習入門
- 【Twitter×Python】自分専用のエゴサーチボットを作る方法Python
- Webデザインから見たSEOWebデザイン入門Webデザインお役立ち情報
- 未経験からのWebデザイナー転職を有利にする資格4選Webデザインお役立ち情報転職