我在Rails 3中设置了宁静的身份验证和用户管理,而没有任何麻烦。

但是,我认为需要转到“/ sessions / new”而不是“/ sign_in”是很愚蠢的。

我知道您可以为整个资源加上别名,以便我的用户可以使用“/ squirrels”和朋友来代替“/ sessions”和“朋友”,但这是而不是,我要在这里完成。我想给一个特定的动作起别名。

我知道这可以用

resources :sessions, :path_names => { :new => "sign_in" }

但随后该路由以“/ sessions / sign_in”结尾—我根本不想为此操作添加控制器名称。我希望我可以用
resources :sessions, :path_names => { :new => "/sign_in" }

“/”告诉rails它是完整的路径名。但这与第一个代码片段具有相同的效果。

我最后的尝试只是使用表面
match "sign_in" => "sessions#new"

它允许某人在其网址栏中手动输入“/ sign_in”,但使用new_session_(path|url)进行的链接仍将用户置于更为尴尬的“/ sessions / sign_in”。

最佳答案

match "sign_in" => "sessions#new", :as => :new_session

关于routing - 特定资源丰富路由操作的别名(“/sign_in”而不是“/sessions/new”),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3485918/

10-09 06:56