学習週:入門本9章カート、10章チェックアウト / Asset Pipeline
今週は学習週だったのですが、今日しか学習ができず。
「RailsによるアジャイルWebアプリケーション開発」
9章「Ajaxベースのカートの作成」
- button_to ヘルパーはForm のHTML生成
- form_remote_tag は古くて、Rails2までなことに気づく
- rails-3 移行のスライド http://www.slideshare.net/GreggPollack/rails-3-beautiful-code-3219240
- HTML data-属性、unobtrusive Javascript の流れで仕様変更されたとのこと
- けちらずにこの本の最新版を入手することにしました
- page変数はJSジェネレータのインスタンス(サーバ上でJS作成ができるRailsのクラス)
10章「チェックアウト」
クラスメソッドとインスタンスメソッドの違いをど忘れしていて、30分ほどはまりました。
- これはインスタンスメソッド定義
class Hoge def myMethodA end end
[×] Hoge.myMethodA()
- これはクラスメソッド定義
class Hoge def self.myMethodB end end
[○] Hoge.myMethodB()
PHP以外あまり知らないので、 self. でそんな違いが出るなんて驚きでした。
- るりま公式ガイド
- http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fdef.html#class_method
- さらっとした記述、これははまるw
- http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fdef.html#class_method
- Rubyでは「個々のクラスも"Class"クラスのオブジェクト(インスタンス)である」という理解が重要らしい。
- JavaScript は、すべてはオブジェクトであり prototype を継承している、という予備知識があったので、それとのアナロジーでなんとなく理解できるけど・・・。文法はもう一度復習しないとだな。
Asset Pipeline の解説記事を読んだ
- 公式ドキュメント http://guides.rubyonrails.org/asset_pipeline.html
- 丁寧な解説 http://it.sifr.me/ruby-on-rails-asset-pipeline/
- CDNへのリンクはどうするの?と思ったけど、↓を見ると、設定だけすれば、自動リンクしてくれるよう。
とりあえず何ができるのかまでは分かった。PHP版でAsseticというライブラリがあり、使ったことが無く気にはなっている。
CoffeeScript入門
HelloWorldしたら、暗号のレベルからは脱しました。
http://tech.kayac.com/archive/coffeescript-tutorial.html#coffee_helloworld
来週は作業週なので、タスクを入れた、怖話のJS微修正をやってみたいと思います。