現在Ruby on Rails6でアプリケーションを製作しています。
render、yield、provideの関係性がイマイチ理解できておらず、「ページごとに表示されるタイトルを変えたい」のに、僕が期待している通りにタイトルが表示されません。
どうかRailsエンジニアの方、お助けください、、、(汗)。
app/views/layouts/application.html.erb
ruby
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <%= render 'layouts/head' %> 5 <title><%= yield(:title) %> | タイトル</title> 6</head> 7#以下省略
app/views/basic_pages/about.html.erb
ruby
1<%= provide(:title, "About") %> 2<h1>About Pages</h1>
上記の結果、期待しているタイトルは「About | タイトル」なのですが、実際に表示されるタイトルは「localhost:3000/about」です。
※追記
今この質問を書いてて思ったのですが、application.html.erbにはbodyのheader、main、footerもそれぞれrenderしているのですが、それもrenderされていませんでした。
どなたか、ご教授お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。