技術

[Rails]if文とcontent_for

投稿日:

こんばんは

content_for便利ですよね。
今回はcontent_forとif文を組み合わせて使ってみます。

layout.html.erb

<div>
<% if content_for?(:title) %>
<h1><%= yield(:title) %></h1>
<% end %>
</div>

index.html.erb

<% provide :title, 'Hello world.' %>

上記の出力結果は以下となります。

<div>
<h1>Hello world.</h1>
</div>

次に、index.html.erbにprovide(:title)を設定しないでコンパイルしてみます。
そうすると

<div>

</div>

上記のような出力結果になります。

他にも、jsやcssをあるページにだけ使いたい時も
上記のようなやりかたで読み込むことができますし、
ページの構成は似ているけど、一部分だけ違うっていう時も
柔軟に対応することができます。

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

SwiftSwitch @ Raspberry Pi 3(ラズベリーパイ)

誕生日ということで会社からRaspberry Pi 3を頂きました! とりあえず …

no image

[Angular]リアクティブフォームでバリデーション名を動的に出し分ける。

Angularのリアクティブフォームのカスタムバリデーションで、動的にエラー名を …

no image

【Rails】RailsでFriendlyURLを設定する

こんばんは 例えばRailsでブログ記事ページのルーティングを設定するときは b …

no image

HTMLエンティティを探すならHTML Arrowsがオススメ!

こんにちは htmlエンティティっていうのを聞いたことがありますか? アンパサン …

[ Rails ] ExecJS::RubyRacerRuntime is not supported. Please replace therubyracer with mini_racer in your Gemfile or use Node.js as ExecJS runtime.

こんにちは。たなかです。 モバイルアプリ開発の内容でブログを書くことが多い私です …