Rails概要【コントローラー】

$ raila new アプリ名

これをRubyで実行するとフォルダが作られる

※今回はわかりやすくするためにDesktopにディレクトリを指定して作業開始

 

様々なフォルダ・ファイルが作成されるが、重要なのは

【app】アプリの本体が格納

 【config】細かな設定を実行するところ

 

 【app】の中はこれだけ知っていればではなく、全て覚える必要あり。中でも

(models)データベースアクセスのパーツ

(views)画面表示のパーツ

(controllers)プログラム制御のパーツ

RailsMVCフレームワーク、上記のイニシャル

 

(controllers)

$ rails generate controller hello

#「hello」というコントローラーの作成 実行前にディレクトリはRailsAppに移動しておく

 

Visual Studio Code(VSC)で開く

※command + O でエクスプローラー起動

 

 

class コントローラークラス名 < ApplicationController

 ## 内容記述 ##

end

 

初期の(hello_controller.rb)では、HelloControllerというクラスを作成しているだけ。

コントローラーのクラスは【ApplicationController】を継承して作るのが基本

 

 内容にはindexなどのアクションメソッドを記述していく

 

〔例〕

def index

 render plain:" ----------"

end

#後述される値をレンダリングする

# plain:---はテキストデータとして扱うということを示す

 

Railsでのアクションメソッドの呼び出し

http//ドメイン/コントローラー名/アクション名

 

実際にweb上に表示するにはルーティング設定が必要。

#config内のroutes.rbに記述

 

Rails.application.routes.draw do

 --ルーティング情報--

end

 

routes.rbにはgetメソッドを使う

基本 get 'コントローラー/アクション'

 

手動 get 'hello(アドレス)' to: 'hello(コントローラー)#index(アクション)'

# http://localhost:3000/helloというアドレスにアクセスしたら、HelloControllerクラスのindexメソッドを呼び出す

 

htmlを出力するにはmsgという変数にソースコードをテキストとして保管

 render html : msg

上記で呼び出し

 

HTMLのタグは外部攻撃に対して対策している為、自動的にエスケープ文字へ変換して表記される

→ render html : msg.html_safe

と記述するとHTMLタグとして表示される。

 

クエリーパラメータ

外から(コントローラーにアクセスする前からの)値を受け取って表示する 

 http://アクセスするアドレス?名前=値$名前=値&.......

 

コントローラーで内容を作っていく