RailsでJSをあまりいじってこなかったので、Turbolinksの問題に直面したことがなかった。
しかし、今回Tweggerを作ってるなかで色々なJSの機能を搭載すると、どうも挙動がおかしくて、結局はTurbolinksが原因だった。
今日のやったこと、できたこと
- プログラミング
- 広告運用
- ウェブ解析の商品化
明日への課題
- プログラミング
今日のワーク
一昨日から風邪をひいたみたいで、頭痛いは喉痛いはで昨日はほとんど寝てた。
一昨日無理して普通に仕事したのがよくなかったのかもしれない。
今日は朝ゆっくりめに仕事を始めたけど、やっぱり辛いし、集中力が続かない。
特に咳が止まらないのが辛いよね。今の仕事場は不特定多数の人がいるので、周りにも迷惑かけてで申し訳ないなと。
とは言え、仕事にならないんで行くんですけどね。
今日は、Tweggerの画面の動作がおかしいのを修正しようと思ってた。
というか、テストがザルなので既存バグがあって、その修正と合わせて。
まず、has_manyとbelongs_toで関連付けると、自動的に必須項目になるっていうのを知らなかった。
belongs_toを設定した方の外部キーがNULLの可能性があったんだけど、何も考慮せずそのまま作ってた。
そして、普通にNULLでINSERTしようとしたらエラー出た。
という訳で、belongs_toの外部キーは必須項目になるので、以下のように記述する必要があるみたい。
belongs_to :hogehoge, optional: true
こうすることで外部キーがNULLでも登録ができるようになる。
勉強になりました。
それと、今回一番ハマったのが「Turbolinks」の扱い。
これ使ってると、JSの読み込み綺麗にするの難しかったり、onloadで読み込まれなかったり。
jQueryとバッティングするからgem入れなきゃいけないとか、どうなってるのって感じだけど。
まぁ、Turbolinks外すって方法もありなんだけど、今回は勉強のためにあえて使い続けてみた。
で、今回対応したのが以下の感じ。
まずはjQuery用のgemをinstall。
gem "jquery-turbolinks"
そして、summernoteやgoogle map用のスクリプトを書き換えた。
$(function(){ ↓ $(document).on("turbolinks:load", function()
上は一般的なjQueryのonloadで動くイベントの書き方だと思うんだけど、turbolinksだと動かないので書き換えた。
で、これと同様の件で修正しないといけないのが、タグの入力機能で使ったライブラリ「bootstrap-tagsinput.js」。
これは中のソースを直接直さなきゃいけないかった。
具体邸には、本当に最後の行あたり。
$(function() { $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput(); }); ↓ $(document).on("turbolinks:load", function() { $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput(); })
ここを書き換えれば無事にonloadで動くようになる。
まさかライブラリを書き換える必要があるとは!?って感じだったけど。
あとは、細かいところの調整をする必要はあったけど、これさえわかれば大体問題ないと思う。
いやー、リロードすると問題なく動くし、エラーも出ないから気のせいかな?くらいに思ってたらそんなことなかった。
でもちゃんと詰めると、勉強になりますな。。。
本当は今日はCoffeeScriptを勉強しようかなと思ってたんだけど、そんな時間はTurbolinksに全て持って行かれた。
途中でやめたらいいのはわかってるんだけど、それができないんだよねぇ。
そして、9月から作り始めた新しいサービスのデータ調整がひと段落したので、少しだけ運用に載せてみた。
そして広告を運用しようと思ってるんだけど、Yahooプロモーション広告ってCSVの流し込み機能ないのね。
一応、配布ツールはあるみたいなんだけどWin専用みたいで、自分はMacしかないのでどうしようかなと。
家にはデスクトップあるし、いざとなればノート買ってもいいんだけど悩むな。
そんな訳で、今日はまだ体調悪いので、プログラミングの勉強会も休んでます。
事務所変わってから行ける回数が大分減ったけど、今日はマジで辛いので休んだ。
先週末から大分疲れが溜まってて、やばいなぁ、限界だなって思ってたから案の定なんだけど。
免疫力落ちてるだろうし身体中痛いし、今回の風邪は熱は37度台だけど身体中痛くてしんどいです。
今日も早めに帰ってたくさん寝たいと思います。
なんか、風邪のせいか関係ないのかわからないけど、目がしぱしぱして、パソコン見続けるのが厳しい。
そんな感じ。