2008-01-01から1年間の記事一覧
script/specだとオールグリーンだけどrake specだとエラーなテストがある。なんか違うんだろうけど・・・あとで調べる。
どんなメソッドを使うかまで管理するならmock_model。そこまでしないならstub_modelを使うべきかな。 mock_modelは本当に基本的なメソッドだけ使える(idやnew_record?など)。カラム名のメソッドを使いたければ自分で指定してやる必要がある。 stub_modelはカ…
request_http_basic_authenticationメソッドは、メソッドの名前からbasic認証を始めるメソッドかと思ったけど違った。 def request_http_basic_authentication(realm = "Application") HttpAuthentication::Basic.authentication_request(self, realm) end d…
リファレンス見てたら、フォームから投げるURLを自動で判別してくれる機能がネストしたりソースにも対応してるのに気づいてこんな風に書いてみた。 <% remote_form_for([@user, @todo]) do |f| -%> #... <% end -%> そしたら404エラー。ログ見たら RAILS_ROO…
パスから、割り振られるコントローラとアクションを解析したい場合は下記のようにする。 ActionController::Routing::Routes.recognize_path("/hoge", :method => :post)
普段、モデルのコールバックはあんまり使わないんだけど、いざというときに使うので存在を忘れないようにしたい
いつの間にか、form_forの引数にモデルオブジェクトを指定するだけで、そのモデルオブジェクトの状態をみてルーティングを自動で判別するようになってるみたい。 form_for @user do |f| # ... end 確認してないけど、 @user = User.newなら:controller => "u…
後回しにしてたNamed Scopeまわりのソースコードをようやく読みました。参考にしたのは下記のエントリ。Rails 2.1 の新機能、Named Scope がおもしろい - takihiroの日記Named Scopeを理解するには下記の要素をきちんと理解している必要があるようです。一応…
こんな風にテストする。 route_for(:controller => "hoge", :action => "index").should == "/hoge" params_from(:get, "/blogs").should == {:controller => "blogs", :action => "index"} named_root(hoge_urlとか)には対応してないのかな?
for(a in hoge) のaには数値が入る
いつの間にかrspecがgitに移行してた。 rspec_on_railsがrspec-railsに名称変更してた。 今日rspecではまったところ rspec内のresponse.should redirect_to()は:action => :indexの形式だとなぜかエラー。hoge_urlだとOK。理由は不明。
変更したら一回mongrelを再起動させた方がいい
知らなかったのでメモ。:defaultsで任意のURLのデフォルト値を設定できる。 map.connect "entries/search/:order", :controller => "entries", :action => "search" :defaults => { :order => "recent"} users/guestとかで使えそう。
methodを書く位置や、:htmlをつけるか否かなどいろいろ迷うのでメモ link_to_remote("ユーザ追加", :url => { :controller => "users", :action => "create", :user_id => 1 }, :method =>:post , :html => {:id => dom_id(user)})
Userモデルで attr_accessible :name とすると user = User.new(:name => "willnet", :mail => "willnet@example.com") p user.mail #=> nil となる。
リダイレクト先までチェックするshould redirect_to(url)を使った方がよさげ
git initでは作業用ディレクトリがそのままリポジトリのディレクトリになる。subversionのimportと比べて楽。 git addはsvn addとほぼ同じかと思いきや違った。ファイルを新規作成時だけでなく、更新したときにもgit addが必要になる。 git commit -aとする…
Module ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods
railsのmigrationのデフォルトcreated_atとupdated_atは(つまりDateTime型は)ActiveSupport::TimeWithZoneクラスのインスタンス。タイムゾーン情報を追加して使いやすくしたTimeらしー
li要素の中身がない時、IEはliの背景を表示しない。 回避策 li要素の中に を入れることで回避できる。(あんまいい解決方法じゃないけどね)
emacsでhtml.erbファイルを編集しているときに、htmlタグはきちんとインデントされるのにはインデントされなくてなんだかなーとずっと思っていたのですが、どうやらmmm-modeというものを使うともインデントできるらしいことに気づきました。 ;; mmm-mode (re…
errorsメソッドはActiveRecord::Errorsオブジェクトを返す。 ActiveRecord::ErrorsオブジェクトはEnumerableモジュールをmix-inしているのでイテレータ系のメソッドが使える。 ActiveRecord::Errorsオブジェクトのメソッドの一部 on 特定の属性のエラーメッ…
この日記はjavascriptのメモに使っていこうと思いますー
withinやinで範囲を指定した場合はなぜかmessageオプションが使えない(デフォルトの文字列になる)ので、maximumとminimumを使った方が良さげ と思ったら too_long too_short というオプションもあって、withinの時はこれを使うといいみたいね
validates_hoghoge_of系メソッドの:ifオプションには、Procオブジェクト以外にメソッドを指定する事も出来る。 validates_presence_of :password, :if => :password_required? def password_required? # 処理 end
@charsetは外部CSSファイル(つまり@import)を使うときに指定する。
使いそうなやつだけメモ none ボーダーなし。隣接する要素で重なるボーダーが存在すればそのボーダーを表示。 hidden ボーダーなし。隣接する要素で重なるボーダーが存在しても強制的に非表示。 dotted 点線 dashed 破線 solid 実線
css、デザインに関するちょっとしたメモとして使ってゆく予定
validates_uniquenessのオプションである:case_sensitiveはデフォルトfalse(大文字小文字を区別しない)true(2.2.0より)。かといってtrueにしても、mysqlを使用している場合は区別されないらしい。(mysqlは大文字小文字を区別せず保存する仕様なので。) 今の…