rails3をmongoid,jquery,rspecと使う

プロジェクトの作成

rails new testProj --skip-activerecord --skip-prototype --skip-testunit

Gemfileの修正

testProj/Gemfileを修正

source 'http://rubygems.org'
gem 'rails', '3.0.4'
gem 'unicorn'
gem "bson_ext"
gem "rails3-generators"
gem "jquery-rails"
gem "mongoid", ">=2.0.0.beta4"
group :test do
  gem 'rspec', '>=2.0.0.beta.20'
  gem 'rspec-rails', '>=2.0.0.beta.20'
  gem 'mongoid-rspec' ,:git => 'https://github.com/shingara/mongoid-rspec.git',:branch => "mongoid-2.0.0.rc1"
end

Gemfileのインストール

cd testProj
bundle install

mongoidの設定ファイルを作成

rails g mongoid:config

config/application.rbを修正

require File.expand_path('../boot', __FILE__)

#rails/allを修正
#require 'rails/all'
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"

Bundler.require(:default, Rails.env) if defined?(Bundler)

module TestProj
  class Application < Rails::Application
#以下を追加
    config.mongoid.logger = Logger.new($stdout, :warn)
    config.generators do |g|
      g.test_framework      :rspec, :fixture => true
    end
#追加終わり
    config.action_view.javascript_expansions[:defaults] = %w(rails) #%w()を%w(rails)に修正
    config.encoding = "utf-8"
    config.filter_parameters += [:password]
  end
end

jqueryrspecを初期化

rails g jquery:install
rails g rspec:install

spec_helperの修正

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'remarkable/mongoid' #追加
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

RSpec.configure do |config|
  config.mock_with :rspec
  config.fixture_path = "#{::Rails.root}/spec/fixtures"
  #コメントアウト
  #config.use_transactional_fixtures = true
  #追加
  config.include Mongoid::Matchers
end

mongodを起動

mongod

scaffoldとか

rails g hoge huga:string

みたいな感じで使える。