我错过了联系人#show prefix'contact',如下所示。
rake routes
contacts GET /contacts(.:format) contacts#index
POST /contacts(.:format) contacts#create
new_contact GET /contacts/new(.:format) contacts#new
edit_contact GET /contacts/:id/edit(.:format) contacts#edit
GET /contacts/:id(.:format) contacts#show
PATCH /contacts/:id(.:format) contacts#update
PUT /contacts/:id(.:format) contacts#update
DELETE /contacts/:id(.:format) contacts#destroy
我认为这就是我点击以下链接时获得点而不是斜线的原因。
_contact.html.erb
<%= link_to "delete contact", contact, method: :delete,
data: { confirm: "You sure?" } %>
服务器记录正确的DELETE请求,但是,无法呈现/contact.26而不是正确的/ contacts / 26。
Started DELETE "/contact.26" for 128.177.12.30 at 2016-04-13 21:04:30 +0000
ActionController::RoutingError (No route matches [DELETE] "/contact.26"):
每个帖子我都遇到过一个点而不是一个斜线似乎源于复数错误,但是,我不相信这是这种情况。
此外,我已删除资源:来自我的路线文件的联系人,运行$ rake路线,添加资源:联系人,运行$ rake路线,问题仍然存在。
此问题似乎是联系人模型所特有的,因为我的其他模型在删除时没有遗漏任何前缀或出现此错误。
如何将“联系人”前缀添加回“contacts#show”?
routes.rb文件供参考:
Rails.application.routes.draw do
root 'static_pages#home'
get 'help' => 'static_pages#help'
get 'about' => 'static_pages#about'
get 'contact' => 'static_pages#contact'
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
get 'newevent' => 'events#new'
get 'newteam' => 'teams#new'
get 'newperformance' => 'performances#new'
get 'newhotel' => 'hotels#new'
get 'newcontact' => 'contacts#new'
get 'newflight' => 'flights#new'
get 'newground' => 'grounds#new'
get 'newguest' => 'guests#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
resources :users
resources :events
resources :teams do
member do
get :events
end
end
resources :performances
resources :hotels
resources :contacts
resources :flights
resources :grounds
resources :guests
resources :account_activations, only: [:edit]
resources :password_resets, only: [:new, :create, :edit, :update]
end
答案 0 :(得分:0)
您可能在
设置的路线之间发生冲突 resources :contacts
和
get 'contact' => 'static_pages#contact'
最简单的解决方案可能是更改静态页面的链接。如果可以,最好将资源保持在一起。
答案 1 :(得分:0)
我刚遇到同样的错误。
我的问题的解决方法是资源的末尾
我有'资源',并且遇到了和你一样的问题。
我将其更改为“资源”并解决了我的问题
在我的案例中,只是一个错字。答案 2 :(得分:0)
昨天出现了这个错误。修复它的是删除未使用的帮助文件。可能值得一试。