fuelphpに適用したtwitterbootstrapをレスポンシブにする
fuelphp1.6で確認済み。
scaffoldでテンプレートを作った場合
fuel/app/views/template.php
を読み込んでるのでここに
<meta name="viewport" content="width=device-width" /> <?php echo Asset::css('bootstrap-responsive.min.css'); ?>
これを足してやる。
これでOK
息子は電車が大好で車に興味が無い
fuelphpの環境をaws上に構築(でハマった所)
以前はsqaleを使っていたので素の環境から作ろうとすると意外とはまる。
こういう所はvagrantなりchefなりでなんとかするべきなんだろうな。
環境はAMI。amazonのデフォルト。 fuelphp1.6 apacheの設定で
ドキュメントルートのディレクティブに
AllowOverride All
これがを書いてなかったからルーティングされなかった。
むむー。
twitterbootstrapをスマホ対応する時に必要なmetaタグ
いつも忘れる。
<meta name="viewport" content="width=device-width" />
これでおk
rackupからsinatraを起動する
# coding: utf-8 # sinatra関連とactiverecord, mysqlのライブラリを読み込み require 'rubygems' require 'bundler' require 'sinatra' require 'sinatra/reloader' require 'active_record' require 'mysql2' # rackが起動するrubyアプリケーション # sinatra単体ならruby app.rbで起動してる require './app.rb' # 解らん run Sinatra::Application
app.rbはいつも通り
get / do p "Hello, world!" end
rack起動
bundle exec rackup -o 127.0.0.1
いつもの事ではあるが bundlerが指定したgemを使って起動する。
bundlerでgemをインストールする時のメモ(インストール先指定とか)
gemのインストールを管理してくれるbundlerがとっても便利なんだけど。 sinatraみたいな軽量な物を使うときにシステムのgem領域を汚したくない。とか 複数アプリケーションを動かすなんて事もざらに有るとおもう。
そういう時は
bundle install --path gems
ってするとGemfileと同じディレクトリに
gems
っていうディレクトリが出来上がってそこにインストールされる。 bundlerは賢いから次からbundle installする時は--pathのオプションが不要になる。 上記と同じディレクトリに
.bundle/config
っていうファイルが出来上がってそこに書き込まれる。
bundle list
でインストール済みが確認出来る。
sinatraからactiverecordを使ってるとActiveRecord::ConnectionTimeoutErrorと出る
ActiveRecord::ConnectionTimeoutError
何かよく解らないけどコネクションエラーが出る。 どうもコネクションプールの辺りに問題が有るらしいがそれくらい勝手になんとかしておいて欲しいと思うのが本音。。。
対応策としてはここに書いてあるのを参考にして。 http://tech.recompile.net/post/12565750035/activerecord
poolしてあげて。ってのをブロックで囲んであげるっぽい。 こんなの毎回書かなきゃいかんのか・・・?
元がこうなら
get '/' do @hoges = Hoge.find(:all, :limit => 20) erb :index end end
こんな感じ
get '/' do ActiveRecord::Base.connection_pool.with_connection do begin @hoges = Hoge.find(:all, :limit => 20) erb :index end end end
後で調べる(調べないフラグになる)