在rails中创建"删除所有结果"按钮

Ben*_*min 2 ruby ruby-on-rails

我很难理解我必须做些什么来提供删除所有"结果"的链接

我正在寻找类似的东西:

<%= button_to 'Remove All', @results, delete_all %>
Run Code Online (Sandbox Code Playgroud)

我正在使用mysql.

编辑 routes.rb:

Productfinder::Application.routes.draw do
resources :contacts
resources :helps
get "help/index"
resources :results
resources :extensions
resources :websites
resources :words
resources :results do
collection do
get 'remove_all'
end
end
get "home/index"
root :to => "results#index"
Run Code Online (Sandbox Code Playgroud)

Ire*_*bis 8

也许这会对你有所帮助:

在routes.rb中你应该添加:

#rails 3.0
resources :results do
  collection do
    get 'remove_all'
  end
end

#rails 2.3
map.resources :results, :collection => { :remove_all => :get }
Run Code Online (Sandbox Code Playgroud)

在某些视图中,您可以添加此链接:

<%= link_to "Remove All", remove_all_results_path, :method => :get %>
Run Code Online (Sandbox Code Playgroud)

和控制器的动作(在app/controller/results_controller.rb中):

def remove_all
  Result.delete_all
  flash[:notice] = "You have removed all results!"
  redirect_to results_path
end
Run Code Online (Sandbox Code Playgroud)