viewのデザインって面倒、というかやっているうちに支離滅裂になるので、ベースになるところは慣れている人にやってもらって、自分はpartialいじるくらいにしたほうがいいかな、というのが試用の動機ですね。
rails3にもちゃんと対応していて、Gemfileに
gem 'web-app-theme',''>=0.6.2'
と書けば無事installされました。engineにhamlを指定すればちゃんとhamlのファイルを吐き出してくれますが、hamlを指定するならhpricotとruby_parserもgem installする必要がありました。
試行錯誤してるうちにできたapplication.html.erbのほうはこんな感じ。
で、hamlはこうなる、と。Web App <%= stylesheet_link_tag "web-app-theme/base", "web-app-theme/themes/default/style", "web-app-theme/override", :cache => true %> <%= javascript_include_tag :defaults, :cache => true %> <%= csrf_meta_tag %><% flash.each do |type, message| -%> <% end -%><%= yield %>
!!!
%html
%head
%title Web App
= stylesheet_link_tag "web-app-theme/base", "web-app-theme/themes/default/style", "web-app-theme/override", :cache => true
= javascript_include_tag :defaults, :cache => true
= csrf_meta_tag
%body
#container
#header
%h1
%a{:href => "/"} Web App
#user-navigation
%ul.wat-cf
%li
%a{:href => "#"}= t("web-app-theme.profile", :default => "Profile")
%li
%a{:href => "#"}= t("web-app-theme.settings", :default => "Settings")
%li
%a.logout{:href => "/logout"}= t("web-app-theme.logout", :default => "Logout")
#main-navigation
%ul.wat-cf
#wrapper.wat-cf
.flash
- flash.each do |type, message|
%div{:class => "message #{type}"}
%p= message
#main
= yield
#footer
.block
%p
Copyright © #{Time.now.year} Web App.
#sidebar
= yield :sidebar
そして実行中のブラウザ画面。実験用のプロジェクトはいつもblog風のアプリにするので、たまたまpostをscaffoldしてあったので、
rails g web_app_theme:themed posts --engine=haml
としてみる。そしたらこんな実行画面になりました。
テーマを変えるのもとりあえず簡単だし、なかなかいいですね。


0 件のコメント:
コメントを投稿