3

假设我有一个包含 #new 操作的 UsersController。在我的路线文件中,我使用以下内容进行映射:

match 'signup', to: 'users#new'

现在 /signup 和 /users/new 都可以访问此操作。如何将其限制为仅自定义路线。

如果这个问题已经得到回答,我很抱歉,但我对此很陌生。我已经搜索过,但没有找到答案。可能是因为我不知道如何简洁地表达这一点。

4

1 回答 1

5

您可以从用户资源中免除new路由,并将其替换为您的自定义路由:

resources :users, except: [:new]
get 'signup', to: 'users#new', as: "new_user"

导致:

    users GET        /users(.:format)               users#index
          POST       /users(.:format)               users#create
edit_user GET        /users/:id/edit(.:format)      users#edit
     user GET        /users/:id(.:format)           users#show
          PUT        /users/:id(.:format)           users#update
          DELETE     /users/:id(.:format)           users#destroy
 new_user GET        /signup(.:format)              users#new
于 2013-07-02T04:26:03.100 回答