0
我試圖實現一個登錄表單,但我的路由似乎是錯誤的。 當身份驗證失敗時,應用程序將重定向到subdomain.domain.com/login,但它只應該再次呈現登錄頁面(只有不帶「/ login」的subdomain.domain.com)。Rails:登錄表單的正確路由
視圖/登錄/ index.html中
<%= form_tag(check_login_path, :method => "post") do %>
... form fields
<% end %>
的routes.rb
constraints(Subdomain) do
match '/' => 'login#index', :as => :login
match '/login' => 'login#check', :as => :check_login
match '/dashboard' => 'dashboard#index', :as => :dashboard
end
login_controller.rb
class LoginController < ApplicationController
def index
# some index logic
end
def check
# authenticate with mite.yo.lk account login
Mite.account = params[:domain]
Mite.authenticate(params[:email], params[:password])
if Mite.validate
redirect_to dashboard_path
else
flash[:error] = "not valid"
render :template => 'login/index'
end
end
end
Aaaah肯定。謝謝:)順便說一句:這是一個好習慣嗎?或者我應該實施這種行爲嗎? – Slevin
我剛剛添加了一個替代方案。通常,最佳做法是儘可能使用資源,並且如果不是至少指定HTTP動詞而不是「匹配」(它將匹配任何HTTP動作)。 –
非常感謝! – Slevin