「2013年2月」の記事一覧

本当にgb18030.soは悪意あるソフトなのか?

2013年02月27日 22時58分

Nortonのセキュリティスキャンでファイルが削除された。

130227-001

 

ruby2.0を自力でビルド(コンパイル)してみた(Windows環境)で使ったファイルだのに。

人間の免疫細胞と同じで、たまには正常な細胞も攻撃してしまうような仕様なのだろうか。

ActiveRecordで複数のフィールドに一意制約をかける

2013年02月27日 06時09分

記事(posts)テーブルで、タイトルと内容が全く同じ投稿なんて、明らかに不要なため、スキーマレベルで保護しておきたいなぁという場合には、テーブル宣言を次のように書く。

APIはこちら

add_index(table_name, column_name, options = {})(Examplesを見ればほぼ分かるはず)

 

1つのフィールドだけで一意制約をかけたいなら、column_name引数は配列でなくていい。

has_many :throughの参照先名に別の名前を付ける

2013年02月26日 06時30分

The has_many :through Associationで紹介されている、has_many :throughの関連に対して、実際のモデル名以外の名前でアクセスできる関連を構築したのでメモ。
(さらに…)

Railsで目視確認が必要な部分

2013年02月24日 16時53分

Railsでは、unit, functional, integrationのテストが用意されていて、作成したWebアプリケーションのほぼ全てのテストを実施することができる。

それでも今日、integrationテストは正常に合格するけど実際にrails sからページ遷移するとエラーになるという事象に直面した。

 

原因は、app/controllersフォルダの下に、ちゃんとした階層のファイルを作成せずに、1つのファイルにまとめてしまっていたから。

 

本当であれば別々の適切な位置にそれぞれファイルを定義しなければいけないところ、次のように1ファイルにまとめて定義していた。

この状態だと、テストのときは全てのパスが読み込まれるらしく合格していたのが、rails sから閲覧すると、Users:RegistrationsControllerやUsers::SessionsControllerが定義されていないエラーになる。

 

初歩的な、というか横着したから発生した不具合ではあるものの、やっぱり最終的には目視確認もある程度のレベルで必要だということだろうか。

capybaraのseleniumドライバをGoogle Chromeで動かす

2013年02月23日 16時51分

Capybaraとseleniumドライバでテストをしていると、エミュレータとして起動するFirefoxブラウザの表示領域の外側にあるリンクやボタンのクリックができないという問題がある。

capybara + seleniumドライバで画面外のクリックが動作しない問題

 

sleniumドライバから使用するブラウザをChromeに変更することで、この問題は解決した。

GitHub capybaraのConfiguring and adding driversに書いてあった。。)
(さらに…)