原作を読み始めました。(ドラマは見てません)
結構面白い。
短絡的に「推理小説」を思い出しつつ、「マークスの山」が浮かんでます。
まだ、106ページ。
今週で読み終わるかな。
2012/02/16
2012/02/15
[Rails]reverse_orderで降順ソート
RailsでActiveRecord::Baseの派生クラスを使ってQueryを実行する際に、
ソートする、のは当たり前にあります。
例えば、 「ユーザ」を現すモデル「User」があって、登録日時でソートする、
という場合は、
@users = User.order(:created_at)
のように、orderメソッドを実行します。
この例では、created_atの昇順でソートされます。
降順でソートする場合は、どうしますか?
これまで私は、次のように書いていました。
@users = User.order("created_at desc")
ですが、 reverse_orderという 便利なAPIがあったんですね、これを使えば、シンボルを使えるわけです。
なので、
@users = User.order(:created_at).reverse_order
というように書けました。
すっきりしました!
2012/01/17
[emacs] scss-mode
Rails3.1から採用されたscssをemacsで読み書きしたい。
ということで、scss-modeを導入しました。
※ scssについては、こちらを。
http://sass-lang.com/
1. scss-modeの取得
githubからcloneしました。
https://github.com/antonj/scss-mode/
2. .emacsの編集
emacsを再起動します。
ということで、scss-modeを導入しました。
※ scssについては、こちらを。
http://sass-lang.com/
1. scss-modeの取得
githubからcloneしました。
https://github.com/antonj/scss-mode/
2. .emacsの編集
(add-to-list 'load-path "path/to/scss-mode")
(require 'scss-mode "scss-mode")
(add-to-list 'auto-mode-alist '("\\.scss\\'" . scss-mode))
3. emacs再起動
emacsを再起動します。
2011/06/27
rails3.0で動的ルーティングを実現する。
例えば、
http://devel.com/userA/controllerA/actionA
http://devel.com/userB/controllerA/actionA
http://devel.com/userA/controllerB/actionA
http://devel.com/userB/controllerB/actionA
のようなルーティング(パスの最初のセグメントが動的)をRails3.0で実現するには、
config/routes.rbに、次のような定義を書く。
config/routes.rb
この「scope」の定義により、
http://devel.com/userA/controllerA/actionA
がリクエストされた場合、コントローラ"controllerA"のアクション"actionA"が実行され、
その際に、params[:username]に"userA"が設定されている。
また、named_helperは、
http://devel.com/userA/controllerA/actionA
http://devel.com/userB/controllerA/actionA
http://devel.com/userA/controllerB/actionA
http://devel.com/userB/controllerB/actionA
のようなルーティング(パスの最初のセグメントが動的)をRails3.0で実現するには、
config/routes.rbに、次のような定義を書く。
config/routes.rb
scope "/(:username)" do get "controllerA/actionA" => "controllerA#actionA" get "controllerB/actionA" => "controllerB#actionB" end
この「scope」の定義により、
http://devel.com/userA/controllerA/actionA
がリクエストされた場合、コントローラ"controllerA"のアクション"actionA"が実行され、
その際に、params[:username]に"userA"が設定されている。
また、named_helperは、
controllerA_actionA_path(:username) controllerA_actionA_url(:username) controllerB_actionA_path(:username) controllerB_actionA_url(:username)が生成される。
登録:
投稿 (Atom)