yo-log

@yo-iidaのlog

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で調べてみるとあった!

https://rails-assets.org/

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ないですかね?