私は Refinery のセッション コントローラーをオーバーライドしましたが、まだ変更していません。その仕様を書き込もうとしているからです。
コントローラーは app/controllers/refinery/sessions_controller にあります。
module Refinery
class SessionsController < Devise::SessionsController
....
def create
super
rescue ::BCrypt::Errors::InvalidSalt, ::BCrypt::Errors::InvalidHash
flash[:error] = t('password_encryption', :scope => 'refinery.users.forgot')
redirect_to refinery.new_refinery_user_password_path
end
.....
次に、これに対する仕様を spec/controllers/refinery/sessions_controller_spec.rb に書き込もうとしています:
require 'spec_helper'
describe Refinery::SessionsController do
it "should post ok" do
post :create
response.should be_success
end
end
しかし、これは私にエラーを与えています
No route matches {:action=>"create", :controller=>"refinery/sessions"}
rake ルートを実行すると、次の行が表示されるため、これは私を混乱させます。
refinery_user_session POST /refinery/users/login(.:format) refinery/sessions#create
誰でも助けてもらえますか?
Rails 3.2.8、リファイナリー 2.0.8