【发布时间】:2010-09-22 14:09:18
【问题描述】:
好的,这两个相关问题参考Railscast #21:
我遇到了一些路线问题。两个问题:
1) 教程中的路由似乎是相对于应用程序的根目录的;我希望它们相对于模型的根。所以
“@987654322@”我需要是“@987654323@”(反之亦然)。
我正在使用永久链接来引用我的记录,但我不知道如何指定覆盖,因为每次我尝试使用“@987654324@”时都会收到一条错误消息,提示找不到记录“登录”。如何在登录/注销时覆盖它?
2) 为我选择自定义路线似乎不会在我的地址栏中保留自定义路线。所以转到“@987654325@”会让我进入正确的页面,但浏览器现在在地址栏中显示“@987654326@”。在本教程中,这不会发生:应用程序提供正确的页面并将自定义路由保留在地址栏中。我怎样才能让这件事发生在我身上?
## 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
【问题讨论】:
标签: ruby-on-rails routing