Ruby on rails 链接_以在get请求中销毁操作结果

Ruby on rails 链接_以在get请求中销毁操作结果,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我正在尝试创建一个链接来删除一个项目 <% @projects.each do |project| %> <h2><%= project.name %> (<%= project.videos.size %>)</h2> <%= link_to("Delete!", {:controller=>'projects', :action=>'destroy', :id=>project.ha

我正在尝试创建一个链接来删除一个项目

  <% @projects.each do |project| %>
    <h2><%= project.name %> (<%= project.videos.size %>)</h2> 
      <%= link_to("Delete!", {:controller=>'projects', :action=>'destroy', :id=>project.hashed_id}, {method: :delete} ) %>
  <% end %>
我错过了什么

PS:我找到了,但这个解决方案对我不起作用

更新

$ rake routes
      Prefix Verb   URI Pattern                  Controller#Action
        root GET    /                            pages#home
    projects GET    /projects(.:format)          projects#index
             POST   /projects(.:format)          projects#create
 new_project GET    /projects/new(.:format)      projects#new
edit_project GET    /projects/:id/edit(.:format) projects#edit
     project GET    /projects/:id(.:format)      projects#show
             PATCH  /projects/:id(.:format)      projects#update
             PUT    /projects/:id(.:format)      projects#update
             DELETE /projects/:id(.:format)      projects#destroy
更新2 下面是我得到的错误:


粘贴
耙路径的输出。我怀疑路线不匹配,这就是为什么改为
#show

确保您也安装了jquery rails


通常,请确保已包含所有必要的javascript文件。

执行以下操作:

控制器:

  def destroy
    @project = Project.where( :hashed_id=> params[:id]).first.destroy()
    flash[:notice]= "Project deleted"
    redirect_to(:action=>'index')
  end
def destroy
  Flower.find(params[:id]).destroy
  redirect_to :action => 'index'
end
观点:

<%= link_to 'Destroy', flower_path(flower), method: :delete, data: { confirm: 'Are you sure?' } %>

试试这个:

<%= link_to 'Destroy', project_path(project), method: :delete %>

祝你好运

链接到的HTML是什么?您是否尝试过
link\u to(“Delete!”,project\u path(project),action::Delete)
您是否有一个公共回购,我们可以在其中查看代码?@Ben还没有。现在都是本地的,没问题。您得到的命名错误是因为
@project
为零。这意味着,第一个要检查的地方是你的
show
操作是否返回了一个非nil的
@project
。刚刚将它添加到上面的问题中。为什么我的问题与JavaScript有关?(我是rails n00b)还有,最好的检查方法是什么?它与非结构化javascript有关。最好的检查方法是粘贴您的
Gemfile
application.js
,并确保您包含了js。@BenjaminTan这是一个JavaScript问题。我对application.js标记进行了注释,因为该文件是空的,但这显然比我意识到的要多,因为当我取消注释它时,删除请求按预期工作!嗨,Sami,我用project_path(project)而不是:action/:controller语法尝试了它,我仍然收到一个get请求。你能显示你的错误消息吗,最新控制器的销毁方法和指向标记的链接。上面添加了错误消息。它在项目中找不到名称。找不到名称,因为它正在呈现显示视图,但控制器未能传递项目对象
app.project_path(Project.first)