当我尝试删除 communityfeed_item/micropost 的内容时,我收到以下错误:
Routing Error
No route matches [GET] "/microposts/45"
Try running rake routes for more information on available routes.
我检查我的路线并看到删除和发布,这是我真正需要的功能,但我一直收到“get”错误。
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
locations GET /locations(.:format) locations#index
POST /locations(.:format) locations#create
new_location GET /locations/new(.:format) locations#new
edit_location GET /locations/:id/edit(.:format) locations#edit
location GET /locations/:id(.:format) locations#show
PUT /locations/:id(.:format) locations#update
DELETE /locations/:id(.:format) locations#destroy
communitys GET /communitys(.:format) communitys#index
POST /communitys(.:format) communitys#create
new_community GET /communitys/new(.:format) communitys#new
edit_community GET /communitys/:id/edit(.:format) communitys#edit
community GET /communitys/:id(.:format) communitys#show
PUT /communitys/:id(.:format) communitys#update
DELETE /communitys/:id(.:format) communitys#destroy
users GET /users(.:format) users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
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
sessions POST /sessions(.:format) sessions#create
new_session GET /sessions/new(.:format) sessions#new
session DELETE /sessions/:id(.:format) sessions#destroy
microposts POST /microposts(.:format) microposts#create
micropost DELETE /microposts/:id(.:format) microposts#destroy
/communitys(.:format) communitys#index
/users(.:format) users#index
profile_info /profile/info(.:format) users#info
join /join(.:format) users#new
login /login(.:format) sessions#new
logout DELETE /logout(.:format) sessions#destroy
root / static_pages#home
help /help(.:format) static_pages#help
about /about(.:format) static_pages#about
contact /contact(.:format) static_pages#contact
/posts(.:format) static_pages#posts
meetups /meetups(.:format) static_pages#meetups
chat /chat(.:format) static_pages#chat
groups /groups(.:format) static_pages#groups
web /web(.:format) static_pages#web
profile /profile(.:format) static_pages#profile
我在 shared/_communityfeed_item.html.erb 中的视图代码包含一个删除方法:
<% if current_user?(communityfeed_item.user) %>
<%= link_to "delete", communityfeed_item, method: :delete,
confirm: "You sure?",
title: communityfeed_item.content %>
<% end %>
然而,当我单击删除时,出于某种原因,我正在发送一个“获取”请求,这会导致路由错误。有谁知道为什么会发生这种情况?
这很疯狂,即使在我使用此删除请求的个人资料页面上:
<% if current_user?(micropost.user) %>
<%= link_to "delete", micropost, method: :delete,
confirm: "You sure?",
title: micropost.content %>
<% end %>
我仍然得到无路线匹配[GET]!
更奇怪的是,这是渲染的 HTML:
<a href="/microposts/48" title="heyheyhye ">delete</a>
<a href="/microposts/47" title="ddsf">delete</a>
等等尽管这是嵌入式红宝石:
<% if current_user?(communityfeed_item.user) %>
<%= link_to "delete", communityfeed_item, method: :delete,
confirm: "You sure?",
title: communityfeed_item.content %>
<% end %>
在 routes.rb 中:
Meetumea::Application.routes.draw do
resources :comments
resources :posts
resources :locations
resources :communitys
resources :users
resources :sessions, only: [:new, :create, :destroy]
resources :microposts, only: [:create, :destroy]
match '/communitys', to: "communitys#index"
match '/users', to: "users#index"
match '/profile/info', to: "users#info"
match '/join', to: "users#new"
match '/login', to: 'sessions#new'
match '/logout', to: 'sessions#destroy', via: :delete
root to: "static_pages#home"
match '/help', to: "static_pages#help"
match '/about', to: "static_pages#about"
match '/contact', to: "static_pages#contact"
match '/posts', to: "static_pages#posts"
match '/meetups', to: "static_pages#meetups"
match '/chat', to: "static_pages#chat"
match '/groups', to: "static_pages#groups"
match '/web', to: "static_pages#web"
match '/profile', to: "static_pages#profile"
end