我创建了一个用户随着时间的推移填充status_updates的表。每个状态都可以单独删除。
这是通过调用status_update_controller中的destroy方法并在名为correct_user的私有方法中标识特定的status_update来实现的。
所以基本上它看起来像这样:
在status_update_controller的顶部
before_filter :correct_user, only: :destroy
破坏方法
def destroy
@status_update.destroy
redirect_to root_url
end
和私人正确的用户方法
private
def correct_user
@status_update = current_user.status_update.find_by_id(params[:id])
redirect_to root_url if @status_update.nil?
end
我的问题是:
如何为特定用户选择所有status_updates并使用按钮或链接销毁它们?
谢谢!
答案 0 :(得分:0)
在StatusUpdatesController
内部定义一个这样的动作:
def delete_all
current_user.status_updates.delete_all
end
您还需要路由到此操作:
resources :status_updates do
collection do
delete :delete_all
end
end
并按下按钮:
button_to "Delete the everything", delete_all_status_updates_path, :method => :delete