「Ruby on Rails」カテゴリーアーカイブ
簡単で柔軟なパンくずリスト
Rails アプリでプリファレンスを保存する方法
The Worst Rails Code
Rails 2.0でruby-debugを使う
Rails 2.0でデバッグをする新しいやり方 - Hello, world! - s21g
Rails 2.0ではruby-debugを使ったdebuggerが正式に採用された。
Ruby On Rails ピチカート街道 - デバッグ初体験03【ruby-debug v0.9.3 マニュアルお気楽翻訳】 -
バージョンを指定してRailsプロジェクトを作成する
$ rails _2.0.2_ myproject
RSpec の使い方
Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
Rubyist Magazine - スはスペックのス 【第 2 回】 RSpec on Rails (コントローラとビュー編)
RSpec-1.1.4: Overview
Railsアプリのプラグインとしてインストールする
$ cd vendor/plugins $ git clone git://github.com/dchelimsky/rspec.git $ git clone git://github.com/dchelimsky/rspec-rails.git $ cd ../../ $ ruby script/generate rspec
gitのインストールが必要。
Git - Fast Version Control System
mac osxはインストーラがある。Windowsはcygwinでインストールできる。
rails2の、authenticity_token出力をとめる
rails2の、authenticity_token出力をとめる
rails2から導入されたauthenticity_tokenによるCSRF対策を無効にする方法。
この検証に失敗した場合、以下の例外が発生する。
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken)
特定のアクションでauthenticity_tokenの出力、検証を無効にする。
class TestController < ApplicationController protect_from_forgery :except => [:hello] def hello self.allow_forgery_protection = false end end
コントローラのアクションすべてでauthenticity_tokenの出力、検証を無効にする。
class ApplicationController < ActionController::Base #protect_from_forgery # See ActionController::RequestForgeryProtection for details self.allow_forgery_protection = false end
ActiveRecordオブジェクトの配列のmap(collect)
たとえば、
class Member < ActiveRecord::Base end
というモデルがあり、membersテーブルにはnameカラムがあるとする。
すると、
members = Member.find(:all) member_names = members.map(&:name)
というようにmap(またはcollect)が使える。
これは、以下のようにActiveSuppoprtにSymbol#to_procが定義されているからだ。
class Symbol def to_proc Proc.new { |obj, *args| obj.send(self, *args) } end end
Symbol#to_procのおかげで、上記のmapのコードは、下記と同じことになる。
members = Member.find(:all) member_names = members.map { |member| member.name }