Rails

rails newした直後のbundleを辞める

いつごろからか、rails newしたときにbundle installが走るようになりました。これ、ちょっとしたお節介というかなんというか。bundle installはちょっとした時間がかかるため、イラってくるときがあります。何とかならないかなぁと思っていたら、rails new …

auditedを使ってモデルの変更を監視しよう(関連編)

インストール編、適用編に続く関連編です。過去2回はそれぞれ以下を参照してください。 インストール編 関連編 UserモデルとCompanyモデルには次のような関連を定義しているとします。まずはapp/models/user.rb。 class User < ActiveRecord::Base audited b…

auditedを使ってモデルの変更を監視しよう(適用編)

前回からの続きです。監査証跡を取るには、モデルに対して audited を呼び出してあげれば良いです。こんな感じです。 class Company < ActiveRecord::Base audited end これでどのように監査証跡が取られるか、rails consoleの実行結果で見てみます。 tsubam…

auditedを使ってモデルの変更を監視しよう(インストール編)

趣味ならともかく、ビジネスに使うWebアプリケーションを作る上で必要となってくるのが監査証跡という部分です。監査証跡とは、簡単に言うと、誰が・いつ・どのような変更をDBに行ったかを取ることを言います。その監査証跡を取るためのgemとして今回紹介す…

Open Source Rails 3.2 Example Apps and Tutorials

英語を読み間違えている危険性がありますが・・・^^;Railsと有用なGemを使ったアプリケーションとチュートリアルを載せているサイトとして、今日はOpen Source Rails 3.2 Example Apps and Tutorialsを紹介します。Gemの説明書きってだいたい省略されている…

Railsアプリでよく間違える5つのポイント

Ruby5 #270から。Railsアプリでよく間違える5つのポイントというブログエントリが公開されています。勿論英語ですが、プログラムコードで何がまずいか、どのようにすればよいかがきちんと書かれていて、読みやすいブログ。いいですね。こう言うのは。ちなみ…

RailsConf 2012のビデオが公開されています

先日開催されたRailsConf 2012。そこで行われたセッションのビデオが公開されています。http://confreaks.com/events/railsconf2012当然のことながら、すべて英語です。その時点でちょっと心が折れそうですが、スライドを見るとたぶんなんとなくのイメージが…

factory_girlを試してみた。(その3)

factory_girlネタも今回で3回目。今回は関連について書いていきます。前々回はこちら。 前回はこちら。 使用したバージョンなど 今回使用したバージョンは factory_girl_rails 3.0.0 factory_girl 3.0.0 を使用しています。 関連データの記述方法 postsテー…

factory_girlを試してみた(その2)

factory_girlの使い方第二弾です。今回は、GETTING_STARTEDに書かれていることを黙々と書いていきます。前回はこちら。 使用したバージョンなど 今回使用したバージョンは factory_girl_rails 3.0.0 factory_girl 3.0.0 を使用しています。 データの作成方法…

factory_girlを試してみた(基礎編)

今日はfactory_girlを紹介します。たぶん、1回では終わらないので今日は基礎編ということで。 使用したバージョンなど 今回使用したバージョンは factory_girl_rails 3.0.0 factory_girl 3.0.0 を使用しています。 インストール インストールは、Gemfileに次…

Ruby on Rails Tutorial がバージョンアップして2nd Editionとなりました

Railsのお勉強としておすすめなのが「Ruby on Rails Tutorial」。その昔、英語ということで二の足を踏んでいたのですが、実際やってみるとプログラムコードがたくさんありサクサク読み進められ、ひと通り終わる頃にはRailsの知識は勿論、gitやテストの知識も…

Ruby Doc App/ Rails Doc App

ふと、App Storeを覗いてみたら、Ruby Doc AppとRails Doc Appというものがあることを知りました。RubyやRailsのドキュメントを読むためのツールのようです。オフラインでも読めるということなので、ちょっとした調べ物をいつでもどこでもできるって感じです…

Rails3でのActiveRecordでは、一部のメソッドでSQLクエリが遅延実行される

Ruby on Rails 3ポケットリファレンスという本を先日(と言っても1〜2ヶ月ぐらい前ですが)買いました。Ruby on Rails 3 ポケットリファレンス作者: 山田祥寛出版社/メーカー: 技術評論社発売日: 2012/01/26メディア: 単行本(ソフトカバー)購入: 8人 クリ…

今週からRailsConf 2012

今週からRailsConf 2012というイベントがアメリカのオースティンで行われるようです。個人的には、この期間Pragmatic Bookshelfがセールしてくれないかなぁ?とわくわくして待っているのですが、はてさて。去年はRuby関連書籍が40%offだったので、今年もそい…

「はじめる!Rails3(3)」のベータ版が公開されました

いささか旧聞ですが、達人出版会にて発行されている「はじめる!Rails3」シリーズの最新作、「はじめる!Rails3(3)」のベータ版が4月4日に発売されました。私もRails3はこの「はじめる!Rails3」シリーズで勉強を始めた口なので、最新版のリリースは何より…

irb代替ツール Pry(応用編)

irb代替ツール Pryの応用編です。この記事では、 Ruby 1.9.2 pry 0.9.8.4 Rails 3.2.2 で確認しています。 前回の復習 前回は、Pryのインストールをやって、Rails環境でも使えることをやりました。コマンドは、 tsubame.local{miyohide}% pry -r ./config/en…

irb代替ツール Pry(応用編)

irb代替ツール Pryの応用編です。この記事では、 Ruby 1.9.2 pry 0.9.8.4 Rails 3.2.2 で確認しています。 前回の復習 前回は、Pryのインストールをやって、Rails環境でも使えることをやりました。コマンドは、 tsubame.local{miyohide}% pry -r ./config/en…

irb代替ツール Pry(基礎編)

今日紹介するのは、irbの代替となるPryです。この記事では、 Ruby 1.9.2 pry 0.9.8.4 Rails 3.2.2 で確認しています。 インストール インストールはいつもどおり、gemで。 gem install pry pry-doc 起動 起動は、いつもはirbと打っているところをpryと打てば…

guardで楽々テスト実行

RailsCastsで知ったgemです。テストファイルを編集するたびにターミナルに戻ってコマンドを打つのはちょっと面倒なものです。Jenkinsでテストをやらせるという手もあるのですが、Jenkinsはコミットしないとテストをしてくれないので、ちょっと手元で確かめる…

Capybara入門(テスト記述編)

テストを書く(単純編) 前回からの続きです。 ようやく本題です。まずは、index画面を表示させるテストを書くことにします。 require 'spec_helper' describe "Tasks" do describe "GET /tasks" do it "displays tasks" do Task.create!(:name => "foobar")…

Capybara入門(準備編)

名前は聞いたことはあったのですが、これまで手付かずであったCapybaraを試してみたいと思います。なお、環境ですが、 Ruby 1.9.2 Rails 3.2.2 capybara 1.1.2 で試しています。が、あまり細かいバージョンは気にしなくてもいいかも。本当に、基礎の基礎なの…

deviseでアカウントロックを後から追加する

deviseはRailsアプリに認証機能を提供してくれる素晴らしいプラグインです。先日、deviseを使ったアプリケーションで「アカウントロック機能をつけれないか?」という要望を受け、ちょっとググッたのですが、具体的な例があんまり見つからなかったので、書い…

テーブル名をRubyのクラス名にするclassify

先日のconstantizeを知ったときに一緒に知ったもの。classifyは先頭や単語の区切り(_のすぐ後)の1文字を大文字にした文字列を返します。 ruby-1.9.2-p290 :014 > "egg_and_hams".classify => "EggAndHam" ruby-1.9.2-p290 :015 > 単数形にもしてくれるみた…

ActiveSupportのconstantizeが便利

仕事で、Railsプログラムを書いていたとき、 実行するメソッドは同じなんだけど、クラス名だけが違う。例えば、モデルDetailとモデルItemに対してfindメソッドを実行したい。実行するモデルを動的に決めれたら楽なんだけどなぁ。 っていう場面に遭遇して、あ…