Rails概要【コントローラー】
$ raila new アプリ名
これをRubyで実行するとフォルダが作られる
※今回はわかりやすくするためにDesktopにディレクトリを指定して作業開始
様々なフォルダ・ファイルが作成されるが、重要なのは
【app】アプリの本体が格納
【config】細かな設定を実行するところ
【app】の中はこれだけ知っていればではなく、全て覚える必要あり。中でも
(models)データベースアクセスのパーツ
(views)画面表示のパーツ
(controllers)プログラム制御のパーツ
(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://アクセスするアドレス?名前=値$名前=値&.......
コントローラーで内容を作っていく