Я просто пытаюсь проверить, что :user
, который не вошел в систему, будет перенаправлен на new_user_session_path
, когда они попытаются получить доступ к тому, чего не могут.
Когда я звоню:
describe "GET new" do
it 'expects redirect unless admin' do
get :new
expect(response).to redirect_to(new_user_session_path)
end
end
Я получаю следующую ошибку:
1) MealsController GET new expects redirect unless admin
Failure/Error: redirect_to new_user_session_path, alert: "You must be signed in to access this page."
NameError:
undefined local variable or method `new_user_session_path' for #<MealsController:0x007fa066d5d230>
Did you mean? new_user_invitation_path
Почему это происходит?
Редактировать: Вот мои маршруты пользователя:
new_user_session GET /users/sign_in(.:format) sessions#new
user_session POST /users/sign_in(.:format) sessions#create
destroy_user_session DELETE /users/sign_out(.:format) sessions#destroy
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
user_password PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
POST /users/password(.:format) devise/passwords#create
accept_user_invitation GET /users/invitation/accept(.:format) devise/invitations#edit
remove_user_invitation GET /users/invitation/remove(.:format) devise/invitations#destroy
new_user_invitation GET /users/invitation/new(.:format) devise/invitations#new
user_invitation PATCH /users/invitation(.:format) devise/invitations#update
PUT /users/invitation(.:format) devise/invitations#update
POST /users/invitation(.:format) devise/invitations#create
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
user_registration PUT /users(.:format) devise/registrations#update