Ruby on rails 铁路";方法:删除“;删除不工作的资源
我今天开始使用Rails。我决定遵循官方的“Getting Started”(入门)文档(),一切都进行得非常顺利,直到我点击了“删除一篇文章”部分。我按照教程进行操作并添加了一个操作:Ruby on rails 铁路";方法:删除“;删除不工作的资源,ruby-on-rails,ruby,methods,http-delete,Ruby On Rails,Ruby,Methods,Http Delete,我今天开始使用Rails。我决定遵循官方的“Getting Started”(入门)文档(),一切都进行得非常顺利,直到我点击了“删除一篇文章”部分。我按照教程进行操作并添加了一个操作: def destroy @video = Video.find(params[:id]) @video.destroy redirect_to videos_path end 我正在使用给定的方法呈现删除链接: <td><%= link_to 'Destroy', vid
def destroy
@video = Video.find(params[:id])
@video.destroy
redirect_to videos_path
end
我正在使用给定的方法呈现删除链接:
<td><%= link_to 'Destroy', video_path(video), method: :delete, data: { confirm: 'Are you sure?' } %></td>
不幸的是,这不起作用。从不调用销毁控制器,也不会删除视频。使用内置服务器,我意识到没有删除,只有GET请求实际到达服务器
我认为问题在于Rails评估链接功能的方式。呈现的链接具有以下形式:
<a data-confirm="Are you sure?" href="/videos/3" method="delete">Destroy</a>
但是,如果我手动将HTML标记更改为data方法,它将非常有效。显然,我需要rails将其呈现为数据方法
有人能帮忙吗?尝试将链接更改为按钮 我最近也遇到了这个问题。“删除呼叫”在指向的链接上无效。请尝试此操作
<td><%= link_to 'Destroy', video_path(video), method: :delete, data: { confirm: 'Are you sure?' }, remote: true %></td>
remote:true
将一些JavaScript代码嵌入DOM中的某个位置,处理AJAX
调用和响应。。这将发送一个带有\u method=delete
参数的GET
请求,该请求最终将路由到destroy
方法。Ruby 2.0.0p481 Rails 4.1.6这是一个非常奇怪的问题。我使用的是Ruby 2.0.0p353和Rails 4.1.6,但是我得到了正确的链接,其中“方法”是“数据方法”。唯一的问题是我正在使用HAML。你介意把你的档案寄出去吗。只想看一眼。我更新到了最新的Ruby(2.1.3),没有任何改变。@Touchsource'https://rubygems.org“gem”rails、“4.1.6”gem“sqlite3”gem“sass rails”、“~>4.0.3”gem“uglifier”、“>=1.3.0”gem“coffee rails”、“~>4.0.0”gem“jquery rails”gem“turbolinks”gem“jbuilder”、“~>2.0”gem“sdoc”、“0.4.0”,组::doc gem'spring',组::development gem'designe'
同样的事情,method=“delete”代替数据方法:(