memo 0527
.gitignoreをローカルのみで適用する
rails4_bundle installしたときに、gemfiles/vendor配下などにファイルが作られる
そのままだとリポジトリのgitignoreに指定がないため、Untracked filesとして出てくる。
このようなときはgitignoreを変更したくないので、
グローバルの設定でこれらを除くとよい。
~/.gitconfig
[core] excludesfile = ~/.gitignore_global
上記のようにしておいて、
.gitignore_globalにgemfiles/vendorを指定する。
gemの資産がasset pipelineに含まれないとき
zeptoを通常のgemで入れようとしてもasset pipelineに通らない
https://github.com/stefanvermaas/zepto-for-rails
パスが通ってないからのようだ
http://blog.monochromegane.com/blog/2013/09/07/rails4-only-compile-under-app-assets/
資産の場所を移動するか、読み込ませるようにパス指定するかなんだけど、
どっちも気持ち悪い。
今回入れたいのはzeptoなので、rails-assetsで調べてみるとあった!
Gemfile
source 'https://rails-assets.org' do gem 'rails-assets-zepto' end
でbundle installしてうまくいった
jQuery<=>zepto互換
jquery依存のライブラリをzeptoで動かす場合、
zepto本体と、zeptoの拡張が必要なときがある。
今回はbutton.js(Bootstrapのカスタマイズライブラリ)を動かすのに、
zeptoのdata()がうまく動かず、
Gemfile
rails-assets-zepto rails-assets-zeptojs
の二つを導入し、
application.js
#= require zepto #= require zeptojs/src/data
とすることで、解決できた。
git rebaseとgit cherry-pickを頑張る
むずかしい。。。
rebaseまわりの参考
http://qiita.com/shyamahira/items/47557acfe88ba392561e
あとvimも慣れないと。
coffeescriptでプラグイン
既存のjqueryプラグインをzeptoで置き換える
さらにcoffeescriptで書き直す
書き方は下記が参考になった
http://qiita.com/suin/items/c581eb9cc7e6009b19d2
vimを覚える
yy:1行コピー
dd:1行カット
p:ペースト
jsをcontrollerで出し分けたい
一般的な制御方法としては、javascript_include_tagをview内で指定して個別のjsを呼び出すようだ。
controllerごとにwrapするviewがあれば、そこにjavascript_include_tagを置くのがいいかなーと。
でもあんまりそういう構造にしているプログラムはなさそうだし、それはそれで管理が大変かな?
結局ファイルは重くなるけど、bodyにユニークなクラスを付与して、js側で処理の分岐が一般的みたい。
controllerで任意のjsを指定して自動でうまいことviewに反映するようなgemないですかね?