Rails のプラグイン

gem をインストールしたらサーバは再起動

rails server

を実行していたときに、gem をインストールしても その gem は読み込まれない。

一度、終了して再度、

rails server

とする必要がある。

rspec

gem install rspec-rails

Gemfile に

gem 'rspec-rails'

を加える。

rails generate rspec:install

devise

インストール

gem install devise

Gemfile に

gem 'devise'

を追加する。

設定

rails generate devise:install

どのモデルを使うかは各自で選べば良いのだが、 ここでは user モデルにする。 user モデルに devise を追加するには

rails generate devise user

とする。

rake db:migrate

config/environments/development.rb に

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

を追加する。ホスト名は適切に指定する。

config/routes.rb で root を指定する。

root :to => 'home#index'

日本語のロケール

日本語のロケールは https://gist.github.com/606476 にあった。 config/locales/devise.ja.yml にコピーする。 完全ではないので必要に応じて編集する。

ユーザ名でログイン

https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign_in-using-their-username-or-email-address

のようにすればうまくいった。

リンク

devise-twitter

Gemfile

gem 'devise-twitter'

bundle update
rails generate devise:twitter user

omniauth

devise-twitter よりも使いやすそう?

https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

kaminari

rails g kaminari:config

config/initializers/kaminari_config.rb を編集する。

rails g kaminari:views default

spork

http://blog.digital-squad.net/article/199522761.html を参考に spork の設定をした。

インストール

バージョンが 0.8.5 だと動かなかったので Gemfile に

gem 'spork', '~> 0.9.0.rc', :group => [:development, :test]

を追加して

bundle install

とする。

設定

spork -b

として spec_helper.rb を編集する。 spec_helper.rb の中身の全てを Spork.prefork のブロックの中に入れるようにする。 spec_helper.rb は次のようにした。

require 'rubygems'
require 'spork'

Spork.prefork do
  # Loading more in this block will cause your tests to run faster. However, 
  # if you change any configuration or code from libraries loaded here, you'll
  # need to restart spork for it take effect.

  # This file is copied to spec/ when you run 'rails generate rspec:install'
  ENV["RAILS_ENV"] ||= 'test'
  require File.expand_path("../../config/environment", __FILE__)
  require 'rspec/rails'
  require 'rspec/autorun'

  # Requires supporting ruby files with custom matchers and macros, etc,
  # in spec/support/ and its subdirectories.
  Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

  RSpec.configure do |config|
    # == Mock Framework
    #
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
    #
    # config.mock_with :mocha
    # config.mock_with :flexmock
    # config.mock_with :rr
    config.mock_with :rspec

    # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
    config.fixture_path = "#{::Rails.root}/spec/fixtures"

    # If you're not using ActiveRecord, or you'd prefer not to run each of your
    # examples within a transaction, remove the following line or assign false
    # instead of true.
    config.use_transactional_fixtures = true

    # If true, the base class of anonymous controllers will be inferred
    # automatically. This will be the default behavior in future versions of
    # rspec-rails.
    config.infer_base_class_for_anonymous_controllers = false

    config.include Devise::TestHelpers, :type => :controller
  end
end

Spork.each_run do
  # This code will be run each time you run your specs.
  load "#{Rails.root}/config/routes.rb"
  Dir["#{Rails.root}/app/**/*.rb"].each { |f| load f }
  Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
end

.rspec に

--drb

を追加する。

Tags of current page

,