gpt4 book ai didi

ruby-on-rails - Hartl 的 ruby​​-on-rails 教程第 11 章删除微博时出现“无路线匹配”错误 - 完全难倒

转载 作者:行者123 更新时间:2023-12-01 09:16:30 25 4
gpt4 key购买 nike

我正试图在完成 Michael Hartl 的 ROR 教程时找出一个特别难以捉摸的错误。

当点击微博的“删除”(从主页或用户/显示页面)时,网址为http://localhost:3000/microposts/303 ,但结果是“路由错误 - 没有路由匹配”/microposts/303。

我已经浏览了涉及的每一页代码,并将它们替换为来自 Hartl 的 gitHub 项目站点的代码。 https://github.com/railstutorial/sample_app .例如,对于 microposts_controller,我从 gitHub depot 复制了代码,并用复制的代码替换了我的代码。然后我重新启动了服务器。同样的结果。然后我恢复到我的代码来测试下一页。

我交换代码的页面是

Controller 微博 Controller users_controller(显示方法)

模型微博.rb(模型)

观点微博/_micropost.haml共享/_微博_form.html.haml共享/_feed.haml共享/_feed_item.haml

和路线文件。

我不知道其他要检查的东西。有人有什么建议吗?

谢谢,

戴夫

rake路线的结果

 sessions POST   /sessions(.:format)       {:action=>"create", :controller=>"sessions"}
new_session GET /sessions/new(.:format) {:action=>"new", :controller=>"sessions"}
session DELETE /sessions/:id(.:format) {:action=>"destroy", :controller=>"sessions"}
signin /signin(.:format) {:controller=>"sessions", :action=>"new"}
signout /signout(.:format) {:controller=>"sessions", :action=>"destroy"}
microposts POST /microposts(.:format) {:action=>"create", :controller=>"microposts"}
micropost DELETE /microposts/:id(.:format) {:action=>"destroy", :controller=>"microposts"}
root /(.:format) {:controller=>"pages", :action=>"home"}
contact /contact(.:format) {:controller=>"pages", :action=>"contact"}
about /about(.:format) {:controller=>"pages", :action=>"about"}
help /help(.:format) {:controller=>"pages", :action=>"help"}
signup /signup(.:format) {:controller=>"users", :action=>"new"}
development /development(.:format) {:controller=>"pages", :action=>"development"}
/signup(.:format) {:controller=>"users", :action=>"new"}
users GET /users(.:format) {:action=>"index", :controller=>"users"}
POST /users(.:format) {:action=>"create", :controller=>"users"}
new_user GET /users/new(.:format) {:action=>"new", :controller=>"users"}
edit_user GET /users/:id/edit(.:format) {:action=>"edit", :controller=>"users"}
user GET /users/:id(.:format) {:action=>"show", :controller=>"users"}
PUT /users/:id(.:format) {:action=>"update", :controller=>"users"}
DELETE /users/:id(.:format) {:action=>"destroy", :controller=>"users"}

Routes.rb 文件是

SampleApp::Application.routes.draw do

#Sign in Routes
resources :sessions, :only => [:new, :create, :destroy]
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'

#Microposts Routes
resources :microposts, :only => [:create, :destroy]


#Pages Routes
root :to => "pages#home"

match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
match '/signup', :to => 'users#new'
match '/development', :to => 'pages#development'

#Users Routes
match '/signup', :to => 'users#new'
resources :users

end

但是,正如我所说,即使将我的路由文件替换为 gitHub 上的文件也没有解决问题。

要删除的链接是

 = link_to "delete", micropost, :method => :delete,
:confirm => "You sure?",
:title => micropost.content

最佳答案

link_to :method => :delete 使用不显眼的 javascript 来创建 DELETE 请求。我的猜测是您的项目中没有必要的 javascript 文件(prototype.js/jquery.js 和 rails.js),或者您没有将它们包含在您的布局中。

关于ruby-on-rails - Hartl 的 ruby​​-on-rails 教程第 11 章删除微博时出现“无路线匹配”错误 - 完全难倒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5871875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com