Я создал коллекцию маршрут для remove_multiple:Рельсы коллекция маршрут удалить много записей сразу
resources :myfiles do
collection do
delete 'remove_multiple' => 'myfiles#remove_multiple'
end
end
Вот мое мнение:
<%= form_tag remove_multiple_myfiles_path, method: :delete do %>
<table>
.....
<td><%= check_box_tag "myfile_ids[]", myfile.id %></td>
.....
</table>
<%= submit_tag "Delete all" %>
<% end %>
А вот мой контроллер:
before_action :set_myfile, :check_user, except: [:remove_multiple]
def remove_multiple
@myfiles = Myfile.find(params[:myfile_ids])
@myfiles.each do |myfile|
myfile.destroy
end
flash[:notice] = "Deleted files!"
redirect_to trashcan_path
end
Но вот что консоль говорит:
Started DELETE "/myfiles/remove_multiple" for ::1 at 2015-01-20 14:16:02 +0530
Processing by MyfilesController#destroy as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"VebaegOfVddyLiOs9oWP4DcLReC7ZPyttpKulIWMOMZN1JJ18T07aMirTSsqWkiDZOL8yMZ1iYi093tk4Qx4KQ==", "myfile_ids"=>["55", "56", "57"], "commit"=>"Delete all", "id"=>"remove_multiple"}
Myfile Load (0.3ms) SELECT `myfiles`.* FROM `myfiles` WHERE `myfiles`.`id` = 0 LIMIT 1
Redirected to http://localhost:3000/
Filter chain halted as :set_myfile rendered or redirected
Completed 302 Found in 5ms (ActiveRecord: 0.3ms)
Почему исполняющий MYFILES # уничтожить метод? Даже когда я укажу маршрут?
Что в вашем методе set_myfile? – Avdept
Создан мой эшафот. Это стандарт: Защиту set_myfile @myfile = Myfile.find (Params [: ID]) спасательное ActiveRecord :: RecordNotFound redirect_to (root_path) конец –
вы не передаете идентификатор Params [: ID], поэтому вы даже не попадаете в свой метод удаления. – Avdept