У меня возникла проблема с Rails 4 и удалением нескольких элементов в базе данных.ActionController :: InvalidAuthenticityToken on delete form Rails 4
Я работаю над созданием почтового ящика электронной почты, и я хотел бы переместить элемент в «корзину мусора», после чего я хочу перенаправить пользователя на страницу мусора, где он может удалить элемент из базы данных.
Мой код:
routes.rb
namespace :admin do
resources :inboxes do
collection do
match 'destroy_multiple' => 'inboxes#destroy_multiple', via: ['post','delete']
get 'sent'
get 'trash'
end
end
end
контроллер:
def destroy_multiple
if params[:action] == 'trash'
@del = Inbox.where(:id => params[:delete]).destroy_all
else
@del = Inbox.where(:id => params[:delete]).update_all(:folder =>'trash')
end
redirect_to admin_inboxes_path
end
И, наконец, моя форма (тонкая):
= form_tag destroy_multiple_admin_inboxes_path, method: :delete, class: "multiple_delete" do
input type="hidden" name="action" value = controller.action_name
- @inboxes.each do |msg|
- @username = msg.email.gsub(/([^.]+)@.+/, '\1').gsub(/[^0-9A-Za-z]/, ' ').split.map(&:capitalize).join(' ')
tr class=(msg.read == 1 ? nil : 'unread')
td.inbox-small-cells
label.checkbox-custom.check-success
= check_box_tag "delete[]", msg.id, false, class: "for_del", id: "delete_#{msg.id}"
label for="delete_#{msg.id}"
td.inbox-small-cells
i.fa.fa-star.inbox-started
td
a.avatar href="/fr/admin/inboxes/#{msg.id}"
span.bg-primary [email protected][0]
td.view-message.dont-show = @username
td.view-message = msg.subject
td.view-message.inbox-small-cells
td.view-message.text-right = msg.created_at.strftime("%d/%m")
я могу с этим код успешно перемещает почту в «мусор», но я не могу удалить их из базы данных.
Спасибо!
Что вы подразумеваете под "невозможным"? –
Есть ли какие-либо обновления о статусе этого? – Dbz