1

我创建了一个表,该表随着时间的推移由用户填充 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 并使用按钮或链接销毁它们?

谢谢!

4

1 回答 1

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
于 2012-11-08T04:40:43.977 回答