好自定義紅寶石路線,這兩個相關的問題是在參考Railscast #21:在型號
我遇到一些麻煩路線。兩個問題:
1)本教程中的路由似乎是相對於應用程序的根;我希望他們是相對於模型的根源。所以
「http://example.com/login
」我需要是「http://example.com/model/login
」(反之亦然註銷)。
我正在使用固定鏈接來引用我的記錄,我不知道如何指定覆蓋,因爲每次我嘗試使用「http://example.com/model/login
」時出現錯誤,表示找不到記錄「登錄」。我怎樣才能覆蓋這個登錄/註銷?
2)去我的自定義路由似乎並沒有保留在我的地址欄中的自定義路由。所以去「http://example.com/login
」讓我到右頁,但瀏覽器現在在地址欄中說「http://example.com/session/new
」。在教程中,這不會發生:應用程序提供正確的頁面並將自定義路線保留在地址欄中。我怎麼能得到這個發生在我身上?
## Sessions Controller
class SessionController < ApplicationController
def create
session[:password] = params[:password]
flash[:notice] = "Successfully Logged In"
redirect_to :controller => 'brokers', :action => 'index'
end
def destroy
reset_session
flash[:notice] = "Successfully Logged Out"
redirect_to login_path
end
end
## Routes
ActionController::Routing::Routes.draw do |map|
map.resources :brokers, :session
map.login 'login', :controller => 'session', :action => 'create'
map.logout 'logout', :controller => 'session', :action => 'destroy'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end