TIL/20211017/RubyOnRails Route/Controller/View
設定
リンク参照
Rails哲学
MVC(モデル、ビュー、コントローラアーキテクチャ)
Models:データベース・テーブルと対話するルールの管理
Views:ユーザーインタフェース(htmlファイル)
コントローラコントローラコントローラ:モデルとビューを接続するロール
ガイドエレメント
アクションコントローラ:レール要求処理ex.セッション管理、テンプレートレンダリング、リダイレクト管理
ActionDispatch:Webリクエストを受け入れ、必要な場所に接続
ActionView:ビュー管理ex.テンプレートレンダリング、ネストフォーム、彫刻テンプレート、AJAXサポート管理
要素の役割を特定し、ルールに基づいてコードを記述する際の最高の生産性を確保します.
Railsの開発に必要な部分
1.app/controllers:MVCモードのコントローラのコード
2.app/views:MVCモードのviewには、対応するコードが含まれています.viewとcontroller内部のacrionは一対一です
3.app/models:MVCモードのモデルキャラクタ.内部データベースに関連するテーブルの分類
4.config/routes.rb:configディレクトリに含まれるルーティング.rbファイルはクライアント要求urlを特定のコントローラの操作と一致させる
5.db/migrate:ここでファイル形式でテーブルを作成するためのコードを生成する
6.db/schema.rb:実際には、dbでテーブルを作成するときに作成されるファイルで、ここでサーフェスを確認できます.
7.vendor/Gemfile:RubyライブラリはGemと呼ばれ、ここでGemを作成しRailsプロジェクトに追加できます.
REST
プライマリコマンド
1.helloというrailsプロジェクト作成コマンド
rails new hello cmdウィンドウに入力
rails s
サーバ上のページの駆動方法
Railsを使用したページの作成
1.コントローラファイルの作成
$ rails generate controller home
実行後app/controllers/home controller.rbファイルの作成
1.viewsディレクトリのサブディレクトリはコントローラ名と同じです.
2.ディレクトリに含まれるファイル名がaction名と同じ場合、コントローラとビューは自動的に関連付けられます.
2.コントローラコードの作成
defとendの間の内容をactionと呼ぶ
ビューに同じ名前を自動的にマッチさせる
Sorailsではactionはサービスが操作可能な行為です
動作は、ユーザが見ることができるビューまたはアクションロジックです.
3.ビューコードの作成
index.html.htmlコードをerbファイルに追加
4.ルーティング設定
config/routes.rbファイルにコードを追加
Rails.application.routes.draw do
# 코드 시작
root "home#index"
get "home/index" => "home#index"
# 코드 끝
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
説明:ルート「home#インデックス」である「/」がこのアドレスを要求する場合、homeコントローラに送信されるインデックス操作を示します.(get"/"=>「home#index」と同じコード)
get方式でhome/indexアドレスを要求する場合は、homeコントローラのindex操作を使用して接続します.
cf.ルール:Rootアドレスコントローラ#action
コアの整理
railsサーバにリクエストを送信すると、リクエストを送信したuri情報はroute、controller、viewの順に移動します.
Railsプロジェクトでページを作成するには
1.ルーティングで定義されたuri
2.uriに関連付けられたコントローラ、action
3.controller,actionに関連付けられたview
データを別のページに転送
1.フォームを介してサーバにデータを転送する(controller#action)
2.actionのデータを関連ビューに転送して出力する
完全なコード
routes.rb
Rails.application.routes.draw do
root "home#index"
get 'home/index'
get 'home/next'
# 코드 시작
#root "home#index"
#get "home/index" => "home#index"
# 코드 끝
# For details on the DSL available within this file,
#see http://guides.rubyonrails.org/routing.html
end
home_controller.rbclass HomeController < ApplicationController
def index
end
def next
end
end
index.html.erb<h1>
Home#index
</h1>
<p>
Find me in app/views/home/index.html.erb
</p>
<a href="/home/next">home/next로 이동</a>
next.html.erb<h1>
Home#next
</h1>
<p>
Find me in app/views/home/next.html.erb
</p>
<a href="/home/index">home/index 이동</a>
参考資料
一望できるルビーレール:リンク
Reference
この問題について(TIL/20211017/RubyOnRails Route/Controller/View), 我々は、より多くの情報をここで見つけました https://velog.io/@jeongyunjang/TIL-20211017-RubyOnRails시작하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol