Action View
ビューを描画する基本機能を提供する。
参考:
Action View の概要 | Rails ガイド [公式]
ActionView::Base
テンプレートを用いたビューの描画を行うための基本クラス
lookup_context.prefixes
で指定されたプレフィックスを持つテンプレートを lookup_context.view_paths
で指定されたパスから探して、条件に合致するテンプレートを用いてビューの生成を行う。lookup_context.handlers
に含まれるハンドラーを用いて、lookup_context.formats
で指定された種類のファイルを生成する。
参考:
ActionView::Base | Ruby on Rails API [Official]
rails/base.rb at v5.2.3 · rails/rails – GitHub
ActionView::Rendering
include
したクラスが view_context
や view_renderer
を保持して、テンプレートを用いたビューの描画ができるようになるミックスイン
ActionView::Layouts
を経て、ActionController::Base
にミックスインされている。
ActionView::Rendering -> ActionView::Layouts -> ActionController::Base
参考:
ActionView::Rendering | Ruby on Rails API [Official]
rails/rendering.rb at v5.2.3 · rails/rails – GitHub
ActionView::Renderer
lookup_context
を元にビューの描画を行う。
参考:
ActionView::Renderer | Ruby on Rails API [Official]
rails/renderer.rb at v5.2.3 · rails/rails – GitHub
render
テンプレートもしくはパーシャルを描画するエントリーポイントとなるメソッド
参考:
render – ActionView::Renderer | Ruby on Rails API [Official]
render – rails/renderer.rb at v5.2.3 · rails/rails – GitHub
render – rails/partial_renderer.rb at v5.2.3 · rails/rails – GitHub
render – rails/template_renderer.rb at v5.2.3 · rails/rails – GitHub
render_body
Fiber を用いてレスポンスボディをストリーミングしながらテンプレートの描画を行う。
参考:
render_body – rails/renderer.rb at v5.2.3 · rails/rails – GitHub
PartialRenderer
パーシャルを描画するレンダラー
- パーシャル
- ビューあるいは各種テンプレートの部分となる下位テンプレート
参考:
ActionView::PartialRenderer | Ruby on Rails API [Official]
rails/partial_renderer.rb at v5.2.3 · rails/rails – GitHub
TemplateRenderer
テンプレートを描画するレンダラー
参考:
rails/template_renderer.rb at v5.2.3 · rails/rails – GitHub
StreamingTemplateRenderer
Fiber を用いてレスポンスボディをストリーミングしながらテンプレートの描画を行うレンダラー
参考:
rails/streaming_template_renderer.rb at v5.2.3 · rails/rails – GitHub
AbstractRenderer
各種レンダラーの継承元となる抽象クラス
参考:
rails/abstract_renderer.rb at v5.2.3 · rails/rails – GitHub
content_for
参考:
ページタイトルはビューテンプレートの `content_for` で表示すること 翻訳 | TechRacho
Rails で title タグの内容をページ毎に変えたい | アプリ開発ラボ
Rails4 でページごとにページのタイトル (title タグ) の内容を変更する | Rails Webook
Pretty Page Title in Rails 5 | Ruby Plus
Rails page titles with the right amount of magic | Coderwall
content_for – ActionView::Helpers::CaptureHelper | Ruby on Rails API [Official]
provide – ActionView::Helpers::CaptureHelper | Ruby on Rails API [Official]
rails page titles – Stack Overflow
How to change the title of a page? – Stack Overflow
simple_format
文字列に簡易的な HTML フォーマットを施す。
- 文字列を
<p>...</p>
タグで囲う。 - 改行を
<br>
タグに変換する。 - 連続した改行がある箇所に
</p><p>
を挿入して段落を分ける。
参考:
simple_format | Railsドキュメント (railsdoc.com)
simple_format で改行コードが変換されない – Qiita
simple_format – ActionView::Helpers::TextHelper | Ruby on Rails API [Official]
ActionView::Helpers::TextHelper
参考:
ActionView::Helpers::TextHelper | Ruby on Rails API [Official]
ActionView::Base を使ってパーシャルをレンダリングする
lookup_context = ActionView::LookupContext.new("../my_engine/app/views") lookup_context.cache = false view_context = ActionView::Base.new(lookup_context) view_context.render("my_engine/partials/form")
参考:
ActionView を単体で使ってみる | そんなこと覚えてない
view_assigns
参考:
何故 Rails では View から Controller のインスタンス変数にアクセスできるのか | atton.blog
view_assigns – AbstractController::Rendering | Ruby on Rails API [Official]
view_context
ビュークラスのインスタンス (デフォルトでは ActionView::Base
クラスのオブジェクト) を生成して返す。
参考:
view_context – ActionView::Rendering | Ruby on Rails API [Official]
view_context – rails/rendering.rb at v5.2.3 · rails/rails – GitHub
Accessing view_context in Model – Stack Overflow
LookupContext
参考:
ActionView::LookupContext | Ruby on Rails API [Official]
rails/lookup_context.rb at v5.2.3 · rails/rails – GitHub
ActionView::Template::Handlers::ERB
参考:
rails/erb.rb at v5.2.3 · rails/rails – GitHub
titleizer
参考:
kami-zh/titleizer: Set page title to Rails application using I18n – GitHub