2021-03-14
#2021-03 #2021年03月 #03-14 #03月14日
Action Cableを試すサンプルアプリケーションをやってる
https://qiita.com/jnchito/items/aec75fab42804287d71b#viewの作成
code:app/views/messages/_message.html.erb
<div class="message">
<p><%= message.content %></p>
</div>
code:app/views/rooms/show.html.erb
<h1>Chat room</h1>
<div id="messages">
<%= render @messages %>
</div>
こんなことできるんだ。この render メソッドはどれよ
https://railsguides.jp/layouts_and_rendering.html#renderを使用する
アプリケーションがブラウザで表示するコンテンツのレンダリング (出力) という力仕事は、ActionController::Base#renderメソッドがほぼ一手に引き受けています。
ほう
ActionController::Base https://github.com/rails/rails/blob/main/actionpack/lib/action_controller/base.rb
を見てみたけど、いろんなモジュールがincludeされててこれ以上追う気になれなかった
https://railsguides.jp/layouts_and_rendering.html#コレクションをレンダリングする
code:erb
<%= render partial: "messages/message", collection: @messages %>
上の略記法で下のように書ける、ってことなのか。知らなかったわ。
code:erb
<%= render @messages %>
renderメソッド、頑張り過ぎでは?
これも同じような話
code:rb
ApplicationController.render(partial: 'messages/message', locals: { message: message })
code:rb
ApplicationController.render(message)
上の書き方のほうが安心感あるな...。この略記法、本当に必要だったのか...?