«前の日記(2009-02-09) 最新 次の日記(2009-03-25)» 編集

野ログはノロキュアMaxHeart


2009-03-09

_ scriptコマンドで作業ログを取得する。

今までscreenで作業してそのログコピペみたいにしていたんだけど、scriptというログをとるためのコマンドがあったのでメモメモ。

script 保存するファイル名

で新しくシェルが立ち上がってそのシェルをexitするまでの全ての出力をファイルに保存してくれる。

script -c sh ./test.log
date
echo "hogehogehoge"
date
exit

という感じで実行すると(zshとかでやっちゃうと色の情報とかめんどいのでshを指定)

./test.log

スクリプトは 2009年03月09日 17時39分33秒
 に開始しました$ date
2009年  3月  9日 月曜日 17:39:35 JST
$ echo "hogehogehoge"
hogehogehoge
$ date
2009年  3月  9日 月曜日 17:39:42 JST
$ exit

スクリプトは 2009年03月09日 17時39分44秒
 に終了しました

という感じになると。

参考

http://blog.miraclelinux.com/ctd/2006/08/post_a6c8.html

上のURLの後半部分のシェルスクリプトにまとめてそれを実行するたびにその作業の日付付きのログをとるとかホントいい意味でプロですね。

Tags: linux

_ RSpec on RailsのControllerのテストで実際にviewのレンダリングを行わせる。

RSpec on Railsではviewのテストとcontrollerのテストは分離されていて、別々に書くようになっている。

ViewのテストとControllerのテストを切り分けて書くことが可能なのは便利なのだが、

Controllerのテストが通っているからといってレンダリングが成功することが保証されないことが難点だ。

そのようなテストはStoryテストで行うことが推奨されている?ようなのだが

integrate_viewsを利用することでControllerExamplesでも実際にビューのレンダリングまで行わせることが可能なようだ。

Controllerの責務、Viewの責務を考えた時に、ControllerはViewで必要なインスタンス変数を定義するまでが責務でありレンダリング成功はControllerの担当外であることは理解できるのだが、きちんとStoryテストを書くことができていない現在、ControllerのテストでViewのレンダリング成功までを追いかけることにしたい。

サンプル

describe "WelcomeController" do
  integrate_views
  describe "#index"
    before do
      get :index
    end

    it "リクエストが成功する" do
      response.should be_sucess
    end

    it "welcome/index が描画される" do
      response.should render_template("welcome/index")
    end
  end
end

上記のテストだとViewのレンダリング中にエラーが発生する場合

get :index

でエラーが発生するのでテストが通らない。

integrate_views

ではない場合は、renderの中は実行されないのでビューのエラーはひろえない。

参考URL

http://rspec.rubyforge.org/rspec-rails/1.1.12/classes/Spec/Rails/Example/ControllerExampleGroup.html

integrate_viewsを使わない方を推奨しているみたい

Tags: rspec rails

_ fieldWithErrorsのタグを変更する。

何回かググった気がするのでメモ。

cssでdisplay:inlineで対応したと思ったらモバイル版ではまる。

みたいなw

Validationにひっかかったフィールドに対して個別にCSS等を設定できるように

<div class="fieldWithErrors">〜</div>

という風にかこってくれる機能があるのですが、

divでかこってくれちゃうために、意図しない改行が入ってしまう。

ならCSSでdisplay:inlineすればいいんじゃね?

モバイル版うぜええええ!!!

ということになった後にdiv->spanに変える方法。

environment.rbの下の方に

ActionView::Base.field_error_proc = Proc.new {|html_tag, instance|
  %(<span class="fieldWithErrors">#{html_tag}</span>)
}

とかけばOK。

モバイル版かどうか判断してほげほげなんてのも普通にできそうですね。

めんどいので今回はパスしますが。

Tags: rails
本日のツッコミ(全2件) [ツッコミを入れる]
_ 榊祐介 (2009-03-09 23:20)

あるある!<br>ラジオボタンのときに改行入ったりしてうざいですよね。

_ nog (2009-03-10 11:28)

Railsで開発してると皆通る道ですねw

お名前:
E-mail:
右の画像に書かれている文字列を入力してください:
コメント:
[]

«前の日記(2009-02-09) 最新 次の日記(2009-03-25)» 編集

最近の記事

最近のコメント

  1. コピーブランド (03-28)
  2. vente cialis (03-02)

最近のトラックバック

作ったもんとか

Offzon
Amazonから簡単に割引率を指定して商品を検索します。
チョコ鑑定
あなたのもらったチョコのレシピを鑑定します。
今時名前メーカー
あなたに今風の名前をプレゼントします。
コピペ運動会
ユーザー参加型コピペ投稿サイト
はうまっち?
楽天市場の価格を当て合うコミュニティ
Award on Rails楽天賞受賞
公開メモ
公開してるメモ用wiki

アンテナ

タグリスト

過去ログ

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|
2006|05|06|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|07|09|11|
2009|01|02|03|04|05|06|07|08|09|11|

その他

フィードメーター - 野ログはノロキュアMaxHeart あわせて読みたいブログパーツ