Właśnie zainstalowałem Devise na mojej aplikacji, wcześniej zrobiłem to od podstaw, jak samouczek Michaela Hartla.Żadne trasy nie pasują do [POST] "/ sessions/user"
Obecnie mogę się zarejestrować i wylogować. Ale kiedy ja zalogować daje błąd:
No route matches [POST] "/sessions/user"
zdarza się po kliknięciu na znak w dzienniku/w przycisk z lub bez (poprawnie) hasło.
Mój plik trasa:
SampleApp::Application.routes.draw do
devise_for :users, path_names: { sign_in: "login", sign_out: "logout"}
resources :users do
resources :bookings, only: [:show]
end
resources :bookings
resources :sessions
# match '/signup', to: 'devise/registrations#new', via: :get
# match '/signin', to: 'devise/sessions#new', via: [:post, :get]
# match '/signout', to: 'devise/sessions#destroy', via: :delete
match '/admin', to: 'admin#new', via: :get
match "bookings/new", to: 'bookings#new', via: [:post, :get]
devise_scope :user do
root to: 'static_pages#home'
end
[EDIT]
Moja forma jest domyślnym od devise:
<h2>Sign in</h2>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %>
<%= f.label :remember_me %></div>
<% end -%>
<div><%= f.submit "Sign in" %></div>
<% end %>
Obecnie nie mam żadnego kodu na sesję Kontroler lub pomocnik, jak w poradniku Michaela Hartla
Moje trasy natarcia dotyczące sesji są następujące:
sessions GET /sessions(.:format) sessions#index
POST /sessions(.:format) sessions#create
new_session GET /sessions/new(.:format) sessions#new
edit_session GET /sessions/:id/edit(.:format) sessions#edit
session GET /sessions/:id(.:format) sessions#show
PATCH /sessions/:id(.:format) sessions#update
PUT /sessions/:id(.:format) sessions#update
DELETE /sessions/:id(.:format) sessions#destroy
[SOLVED]
zaktualizowałem trasy złożyć
devise_scope :user do
root to: 'static_pages#home'
match '/sessions/user', to: 'devise/sessions#create', via: :post
end
widzę swoją formę i odpowiedniej metody kontroler? – godzilla3000
Właśnie edytowałem plik, aby dołączyć formularz, ale jest to domyślny formularz. Mój kontroler sesji obecnie nie ma żadnego kodu – tvieira
@ TiagoOrnelasVieira Cieszę się, że udało Ci się rozwiązać twój problem. Jeśli mógłbyś zaakceptować rozwiązanie, które dało ci odpowiedź lub przesłać odpowiedź, którą sam znalazłeś i dał ci czek, który pomógłby ci w przejrzeniu twojego pytania. Jeśli nie wiesz, jak wyjaśnić, dlaczego Twoje rozwiązanie zadziałało, zapytaj nas, a może ktoś wyjaśni, dlaczego Twoje rozwiązanie rozwiązało problem. Gdy Ty lub ktoś odpowiedziałeś na to pytanie w całości, nadaj mu znacznik wyboru, aby został on zamknięty, a więc Stack Overflow będzie utrzymywany w porządku i zwięzły. Dzięki. – DutGRIFF