मैंने अभी अपने ऐप पर डेविस स्थापित किया है, मैंने पहले इसे माइकल हार्टल ट्यूटोरियल की तरह खरोंच से किया था।कोई रूट मैचों [POST] "/ सत्र/उपयोगकर्ता"
वर्तमान में मैं साइन अप कर सकता हूं और लॉग आउट कर सकता हूं। लेकिन यह में प्रवेश करें जब मैं एक त्रुटि देता है:
No route matches [POST] "/sessions/user"
यह होता है जब मैं के साथ या (सही) पासवर्ड के बिना बटन में/लॉग में संकेत पर क्लिक करें।
मेरे मार्ग फ़ाइल है:
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
[संपादित करें]
मेरे प्रपत्र वसीयत से डिफ़ॉल्ट है:
<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 %>
वर्तमान में मैं सत्र पर कोई कोड नहीं है माइकल हार्टल ट्यूटोरियल में नियंत्रक और न ही हेल्पर की तरह
मेरे रेक सत्र के बारे में मार्गों इस प्रकार हैं:
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
[हल]
मैं मार्गों अद्यतन फ़ाइल
devise_scope :user do
root to: 'static_pages#home'
match '/sessions/user', to: 'devise/sessions#create', via: :post
end
मैं अपनी फार्म और इसी नियंत्रक विधि देख सकते हैं? – godzilla3000
मैंने फ़ॉर्म को शामिल करने के लिए फ़ाइल को संपादित किया है, लेकिन यह डिवीज डिफ़ॉल्ट रूप है। मेरे सत्र नियंत्रक के पास वर्तमान में कोई कोड नहीं है – tvieira
@TiagoOrnelasVieira मुझे खुशी है कि आप अपनी समस्या का समाधान करने में सक्षम थे। यदि आप या तो उस समाधान को स्वीकार कर सकते हैं जिसने आपको जवाब दिया है या जो जवाब आपने स्वयं पाया है उसे सबमिट कर दें और इसे चेक दें, यह आपके प्रश्न को देखने में मदद करेगा। यदि आपको वास्तव में यह नहीं पता कि आपका समाधान क्यों काम करता है तो हमें कैसे पूछें और शायद कोई स्पष्टीकरण देगा कि आपके समाधान ने आपकी समस्या क्यों तय की है। एक बार जब आप या किसी ने पूरी तरह से प्रश्न का उत्तर दिया है तो कृपया इसे चेक मार्क दें ताकि यह बंद हो जाए और इसलिए स्टैक ओवरफ़्लो को साफ और संक्षिप्त रखा जाएगा। धन्यवाद। – DutGRIFF