20210216 AWS Black Belt Online Seminar AWS Database Migration ServiceAmazon Web Services Japan
![HTMLデザインを崩さないテンプレートエンジンの作り方](https://cdn-ak-scissors.b.st-hatena.com/image/square/fc501529e5b4a5701ba4852c26d73bea4d633ee9/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fcfakepathrubykaigi2010-kuwataja-100829005707-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
2009年08月29日22:28 Ruby Railsのcontent_tagメソッドが便利で使い方も簡単 Rails には content_tag という便利なメソッドがあります。これを使うと、view がとてもすっきりと書けるんです。まずは具体例をどうぞ。 例えば view にこのような記述をすると、コメントのような HTML が出力されます。<%= ... %> のようにインライン形式で使うときには第一引数がタグ、第二引数が内容、第三引数がオプション( class とか style とか)ですが、<% ... do -%> <% ... -%> のようにブロック形式を取るときには第一引数がタグ、第二引数がオプション、第三引数がブロックになるので注意してください〜。 # view <%= content_tag(:h1, 'ふー', :style => 'color:red') %>
yield と content_for の使い方の紹介。 Railsを使っていてありがちなのが、layouts/application.rb で共通レイアウトテンプレートを使っているときに、画面ごとに <head> の中身を変えたいという事。 そんなときは yield と content_for を使えばOK。 layouts/application.html.erb <head> (- - snip - -) <%= yield :head %> </head> foos/bar.html.erb <% content_for :head do %> <%= javascript_include_tag 'iepngfix' %> <% end %> こんな感じに、画面ごとに <head> に追加したい項目を書くことができます。 また、 content_for は、何度呼び出してもOKで
増井君と二人でPhotoShareというサービスを立ち上げてもう15ヶ月になるが、いろいろと学んだことがある。その中でもつくづく思うのは、サービスを作り上げる段階よりも、運営のことを考えた設計が大切なこと。つまり、メンテナンスしやすい、テストしやすい、多少のミスをしても大丈夫、こまめなアップデートがしやすい、作業分担がしやすい、などなどである。 そんななかで強く感じるのは、「AJAXを見た目や使いやすさの面だけに利用するだけでなく、『運営しやすいサービス』を作るのに利用できないか」ということである。 私のイメージするアーキテクチャを図にするとこんな感じになる。 まず一番の特徴は、テンプレート等を利用したHTMLのダイナミックな生成をすべてやめて、データ(JSONもしくはXML)だけをダイナミックに生成するようにし、HTMLはスタティック・ファイルをサーバー側に置いておく(上の図で、CSS,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く