ArgumentError:缺少:路由定义上的控制器键

时间:2017-07-21 15:30:34

标签: ruby-on-rails ruby

Rails.application.routes.draw do

  resources :items

  root 'items#index'


  get 'items/index', to:'items/index'
  get 'items/show', to:'items/show'
  get 'items/new', to:'items/new'
  get 'items/edit', to:'items/edit'

  post '/items/create', to:'items/create'
  post '/items/update', to:'items/update'
  post '/items/destroy', to:'items/destroy'

  get '/users/userindex', to: 'users/userindex'
  get '/users/usershow', to: 'users/usershow'
  get '/users/usernew', to: 'users/usernew'

end

1 个答案:

答案 0 :(得分:4)

  

ArgumentError:缺少:控制器密钥

用于将路线映射到控制器操作的符号为controller#action,而不是controller/action。相应地更改路线

Rails.application.routes.draw do

  resources :items

  root 'items#index'

  get 'items/index', to:'items#index'
  get 'items/show', to:'items#show'
  get 'items/new', to:'items#new'
  get 'items/edit', to:'items#edit'
  post '/items/create', to:'items#create'
  post '/items/update', to:'items#update'
  post '/items/destroy', to:'items#destroy'
  get '/users/userindex', to: 'users#userindex'
  get '/users/usershow', to: 'users#usershow'
  get '/users/usernew', to: 'users#usernew'
end

此外,你应该看看Resourceful Routing。您错误地声明了大多数路线。换句话说,当你已经拥有resources

时,它们将不再需要