Igo*_*lov 3 ruby-on-rails rails-routing
我遇到了奇怪的错误.我不确定这是错误.但是我之前从未遇到过这种奇怪的行为.
resource :watches
Run Code Online (Sandbox Code Playgroud)
制作这样奇怪的路由表:
watches POST /watches(.:format) watches#create
new_watches GET /watches/new(.:format) watches#new
edit_watches GET /watches/edit(.:format) watches#edit
GET /watches(.:format) watches#show
PUT /watches(.:format) watches#update
DELETE /watches(.:format) watches#destroy
Run Code Online (Sandbox Code Playgroud)
因为你没有看到ID参数和混乱的动作
在同一时间:
resources :mibs
Run Code Online (Sandbox Code Playgroud)
制定正确的路线
mibs GET /mibs(.:format) mibs#index
POST /mibs(.:format) mibs#create
new_mib GET /mibs/new(.:format) mibs#new
edit_mib GET /mibs/:id/edit(.:format) mibs#edit
mib GET /mibs/:id(.:format) mibs#show
PUT /mibs/:id(.:format) mibs#update
DELETE /mibs/:id(.:format) mibs#destroy
Run Code Online (Sandbox Code Playgroud)
我认为这可能是某种方式的变形问题,但尝试使用"火箭"而不是"手表"给出相同的结果:
rockets POST /rockets(.:format) rockets#create
new_rockets GET /rockets/new(.:format) rockets#new
edit_rockets GET /rockets/edit(.:format) rockets#edit
GET /rockets(.:format) rockets#show
PUT /rockets(.:format) rockets#update
DELETE /rockets(.:format) rockets#destroy
Run Code Online (Sandbox Code Playgroud)
除了前两个资源(服务器和mib)之外的任何东西都会产生这样的结果.
可能在某处损坏了路由缓存?
resource 表示单例资源:换句话说,您告诉Rails每个用户只有一个监视,因此传递ID将毫无用处.
resources 是获取附加了ID的路由的标准调用.
所以,基本上,问题是一个变形器,但是对于resource或resources不是路由的名称.有关更多信息,请查看Ruby on Rails路由指南.它很好地解释了单身人士资源与更常见的资源之间的区别.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |