0

私はroutes.rbにこれを持っています

  scope constraints: lambda { |r| r.env['warden'].user.nil? } do
    get "login", to: "sessions#new", as: "login"
  end

get "get'signup'"を使用してrspecでこれらにアクセスしようとしましたが、機能しません。

spec / controllers / sessions_controller_spec.rb

describe "/sessions/new" do
    it "will render if user is not yet logged in" do
        get :new
        response.response_code.should eq 200
    end

    it "will not render if user is logged in" do
        user = FactoryGirl.create(:user)
        request.env['warden'].set_user(user)
        get "login"
        response.response_code.should eq 404
    end
end

これは私が得るエラーです:

Failure/Error: get "login"
     ActionController::RoutingError:
       No route matches {:controller=>"sessions", :action=>"login"}
4

1 に答える 1

0

spec/controllers/sessions_controller_spec.rb は、SessionsController をテストするためのものです。signupUsersController のアクションです。signupspec/controllers/users_controller_spec.rb でアクションをテストします。

于 2013-03-09T15:09:51.967 に答える