基本 config/sphinx.yml に設定を書く。下記のように database.yml っぽく environment 毎に設定を分けることが出来る。 development: port: 9312 test: port: 9312 production: port: 9312 rake ts:conf などとすると、このファイルを元に設定ファイル(conf…
ASCIIcasts - “Episode 269 - Template Inheritance”を見て。以前、Edge Rails.info :: Template Inheritanceを見て、3.1 から 「デフォルトのビューの位置にファイルがない場合は、親のコントローラのビューを見る」という仕様が追加されるのは知ってた。で…
Automatic Flushing: The Rails 3.1 Plan « Katz Got Your Tongue?を読んで。3.1のストリーミング機能の実装が大体どんな感じか、非常に詳しく書かれていてためになった。Fiberを使っている手前、1.9でしか使えないのね。
インデックスとコンフィグの作成 下記のうちのどれでもOK。 rake thinking_sphinx:index rake ts:index rake ts:in デフォルトでは、インデックスの作成に加えてコンフィグファイルも生成される。インデックスの作成だけしたいときには rake thinking_sphinx…
ActiveSupport::TimeWithZoneに追加されてる。 today? past? future? between?
transactional fixtures をオフにしないと search メソッドは値を返さないそうな。 cucumber 1.3.2 から、thinking_sphinx は cucumber と連携しやすくするためのヘルパーメソッドを用意した。features/support/env.rb に下記の二行を足す。 require 'cucumb…
changed? はともかく _was とかすっかり忘れてた><attributeの変更確認 - うんたらかんたら日記
ブロックは定義された場所の束縛を保持する。 束縛とはローカル変数、インスタンス変数、selfなどの情報のこと スコープゲートは module class def class を Class.new {} にしたり、def を define_method {} にしたりすることでスコープをフラットにするこ…
#270 Authentication in Rails 3.1 - RailsCastsを見て。 Railsでのベーシック認証 secure_password force_ssl の三つについてだった。ベーシック認証以外は知ってたので省略。 ベーシック認証 3.1 から controller に下記のように書くだけでベーシック認証…
こんな感じで試せる>|ruby|| session = Capybara::Session.new(:rack_test, YourApp::Application) session.visit "/" session.fill_in "login", with: "login" |
似たようなメソッド群をどのようにリファクタリングするかという課題に対して、動的ディスパッチ&動的メソッドと method_missing の二つの手段で解決をはかる話。 ゴーストメソッド作成時の Object#respond_to? と Object#methods method_missing でゴース…
shift + space で半角スペースにできる。もしくは設定をいじると常に半角スペースを入力できる
RedLine Magazine : Fireworks コレ、5分で作ります。その1を試してみて。Fireworksレッスンブックで試した機能である「マスクとしてグループ化」を完全に忘れていた。一年以上fireworks触ってなかったし仕方ないか。
home うち house 一軒家 みたいな感じかな homeとhouseの違い - maeshimaの日記
ASCIIcasts - “Episode 268 - SASS Basics”を見て。 SCSSの仕様 ネストが出来る a:hover みたいなやつは &:hover のように & にするとネストできる $main-color: #FFFFFF; みたいに $ 使うと変数として使える 関数が用意されている。例えば darken(#FFFFFF, …
ASCIIcasts - “Episode 267 - CoffeeScript Basics”気になったとこだけメモ this は @ に置換 三項演算子は if then else に置換が可能 coffee script 中のエラーもコンソールに出力してくれる
retry 使ったことなかったけど、begin ~ rescue でとても使えそう!retry回数制限つきrescueの書き方のメモ - Hello, world! - s21g retry は、ループ以外に後述の rescue 節でも使えます。この場 合は、begin 式を始めからもう一度実行します。retry を使う…
cookieのpathを利用してURL上のパス毎にcookieを分けるやりかたはセキュリティ的には穴がたくさんある。例えばいずれかのパスで frameset を仕込んでそこから parent.subframe.document.cookie などとすると、別のpathのcookieを読めてしまう。らしい。高木…
3値論理を見て。 not in や not exist でNULLを含むレコードを取り扱うと結果が直感とは反したものになる。めちゃめちゃややこしいので、この場合の挙動を覚えるよりも、おとなしくNULLを使わない習慣を付ける方が賢明だと思った。
普通はdupでいいんじゃないかと思った オブジェクトのコピーについて - おもしろWEBサービス開発日記
メタプログラミングRubyでは、説明しやすくするために、各テクニックにそれぞれ名前を付けている。最初覚えるのは面倒だけど、覚えるとこれは必要な儀式だったんだなと思える。というわけでメモ。 動的ディスパッチ sendを使って動的にメソッドを利用するこ…
あるメソッドが定義されているかどうか調べる hoge.methods.grep /re/ のように、Enumerable#grep を使うと正規表現で調べられるので便利 オープンクラス 標準クラスにメソッド追加すると、既存のメソッドとかち合う危険性があるので、基本的にはよっぽどの…
attr_accessible に :as オプションが付けられるようになったらしい。 class Project < ActiveRecord::Base attr_accessible :name, :as => :admin end のようにすると、 @project.update_attributes(params[:project], :as => :admin) のように、変更側で同…
ActiveRecord::Base#table_name
Geekなぺーじ : Linuxにデフラグが無い理由
最近の記法は結構知らないので復習したい。 最近話題のRSpecのプレゼンの中で知らなかったこと - takihiroの日記
ActionDispatch::Routing モデルとかでURLを生成したい場合は、ActionController::UrlForを見るといい。 知ってると思うけど ActionController::Base#url_for はリンクを生成する。link_to や url_for は水面下で ActionController::UrlFor、特に ActionCont…
インストールしているgemのパスを表示するコマンド 例 gem which rails 参考 requireされいているRubyスクリプトを見つけて編集する方法 - Hello, world! - s21g
ruby -e 'Dir.glob("**/*.erb").each {|file| system %Q! html2haml #{file} #{file.sub("erb", "haml")}!}'
第二引数で束縛を指定できる 第三引数と第四引数で、エラー時のスタックトレースで表示するファイルと行数を指定できる