http://getbootstrap.com/javascript/#modals-sizes
デフォルトの.modal
は幅が小さめだが、.-lg
を指定すると幅を広げれられる。(ついでに-sm
という小さくするオプションもある)
https://github.com/twbs/bootstrap/releases
を見ると、3.1.0で追加されたらしい、1年半前…。
これ以降のバージョン使ってる時も、独自のクラス追加しちゃってたよー。
http://getbootstrap.com/javascript/#modals-sizes
デフォルトの.modal
は幅が小さめだが、.-lg
を指定すると幅を広げれられる。(ついでに-sm
という小さくするオプションもある)
https://github.com/twbs/bootstrap/releases
を見ると、3.1.0で追加されたらしい、1年半前…。
これ以降のバージョン使ってる時も、独自のクラス追加しちゃってたよー。
$ rails g model comment content commentable:references{polymorphic}
何回打っても覚えられない。
Rubyでとあるライブラリを使っていた時、
foo = Foo.first
SomeFormatter.format(foo.bar) # 正しい値
SomeFormatter.format(foo.bar) # 誤った値
という感じで、2回目以降の結果がおかしいという事態が起きた。
ずっと使ってたライブラリで今まで問題なかったのに、なんでだ?と思って中身を読んでみたら、引数をgsub!
されてた。
これまでは使い捨ての値しか渡したことなかったので、問題に気付かなかった。(今回インスタンス変数を渡した)
2回呼ぶ、みたいなテスト書いてなくてテストで気づけず、わりと焦った…。
改めてちゃんと理解しようと思って、以下のソースを呼んだ。
https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/request_forgery_protection.rb
トークンの発行とか検証のロジック。
https://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/csrf_helper.rb
metaタグの出力。
意外とシンプル。
デフォルトだと何も設定されないので、ブラウザを閉じるとCookieが破棄されてしまう。
設定自体はとても簡単で、config/initializers/session_store.rb
に
Rails.application.config.session_store :cookie_store, key: '_blog_session', expire_after: 2.week
と書けばいい。(expire_after
を追加)
以前調べた時、ドキュメントに記載がなくて困ったんだけど、今見たら、edgeの方には追加されてた。
http://edgeapi.rubyonrails.org/classes/ActionDispatch/Session/CookieStore.html
https://github.com/rails/rails/commit/a5eddb534f6c7a76acff9c2e54d394e4697d9fd4
該当のコミットはこちら。GJすぎる。
これはコミッターの方が対応されたようだけど、これぐらいなら僕にだってできるはずなので、今後「あれ?これみんな使ってるけどドキュメントにないなぁ」みたいなの見つけたらPRしよう、と思った。