2019年03月10日
No.36 Debian9でDRYなホームページ作成を目指して 【備忘録】
こんにちわ。
このブログ自体もそうなんですが、ホームページを作成するのに、Ruby on Railsが主流な気がします。
他の言語を知らないのでなんとも言えませんが、Don't Rpeat Yourself、DRYっていう言葉はとても好きです。
工学系の中で、一番理論というか、思考の上流に位置するのが制御系な気がします。
例え話とか、小ネタが楽しいのは、制御系の話な気がします。
さて、ちょっと前にRuby on Rails tutorialという入門サイトを1週はしています。
しかし、記憶の彼方に飛んでしまっています。
目的もなく、あてどなく終わらせてしまったのがいけないのでしょう。
今回の目的は、「自分で自分を発信する場所を作る」というそれだけのものです。
動的である必要もないブログをコツコツ作ろうと思います。
お金も時間もそれなりにはかけて作りたいと思っているので、ゆるりと進んでいきます。
手を動かして思ったのですが、見た目は大事です。
前回の失敗は、プロダクトとして面白いものをいきなり目指してしまったことです。
今週は作っている過程で、ホーム以外でヘッダーを表示したという話です。
主流は、ページのもとになる、application.html.erbから、別のファイルを作成するというもののようです。
RailsのDRYなページは、記述する場所をまとめることで実現していきます。
ページのhtmlを「_」で始まるパーシャルで切り出して行きます。
パーシャルを読み込みたい場所で、「render」を記述します。
Ruby on railsでは、application.html.erbという大元のテンプレートがあり、それに追加・改変していきます。
このapplication.html.erbとは違うテンプレートを(今回の例ではhome_view.内)使用するようにするのが主流のようです。
その場合、テンプレートを新たに似たものを作成するので、DRYに反します。
ということでapplication側で制御します。
具体的には、application.html.erbで<%=render render 'layouts/shim' %>という部分を以下に変えます。
<% if yield(:title) != "Home" then %>
<%= render 'layouts/header' %>
<% end %>
これで、home画面では、レンダリングしないようになります。
このブログ自体もそうなんですが、ホームページを作成するのに、Ruby on Railsが主流な気がします。
他の言語を知らないのでなんとも言えませんが、Don't Rpeat Yourself、DRYっていう言葉はとても好きです。
工学系の中で、一番理論というか、思考の上流に位置するのが制御系な気がします。
例え話とか、小ネタが楽しいのは、制御系の話な気がします。
さて、ちょっと前にRuby on Rails tutorialという入門サイトを1週はしています。
しかし、記憶の彼方に飛んでしまっています。
目的もなく、あてどなく終わらせてしまったのがいけないのでしょう。
今回の目的は、「自分で自分を発信する場所を作る」というそれだけのものです。
動的である必要もないブログをコツコツ作ろうと思います。
お金も時間もそれなりにはかけて作りたいと思っているので、ゆるりと進んでいきます。
手を動かして思ったのですが、見た目は大事です。
前回の失敗は、プロダクトとして面白いものをいきなり目指してしまったことです。
今週は作っている過程で、ホーム以外でヘッダーを表示したという話です。
主流は、ページのもとになる、application.html.erbから、別のファイルを作成するというもののようです。
RailsのDRYなページは、記述する場所をまとめることで実現していきます。
ページのhtmlを「_」で始まるパーシャルで切り出して行きます。
パーシャルを読み込みたい場所で、「render」を記述します。
Ruby on railsでは、application.html.erbという大元のテンプレートがあり、それに追加・改変していきます。
このapplication.html.erbとは違うテンプレートを(今回の例ではhome_view.内)使用するようにするのが主流のようです。
その場合、テンプレートを新たに似たものを作成するので、DRYに反します。
ということでapplication側で制御します。
具体的には、application.html.erbで<%=render render 'layouts/shim' %>という部分を以下に変えます。
<% if yield(:title) != "Home" then %>
<%= render 'layouts/header' %>
<% end %>
これで、home画面では、レンダリングしないようになります。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/8626636
この記事へのトラックバック