【问题标题】:Ruby On Rails - how to clean database programmatically? [duplicate]Ruby On Rails - 如何以编程方式清理数据库? [复制]
【发布时间】:2013-12-03 08:46:59
【问题描述】:

所以 rake db:reset 会清除数据库,但我如何在控制器中执行此操作?

【问题讨论】:

  • 你为什么要这个?清理数据库通常不是标准做法。你的意思是,当点击时会有一个特性(比如一个链接)应该调用 Rails 控制器并且它应该清理整个数据库?我看到这种控制存在严重的安全问题。数据库管理员应该管理这个。
  • OK 我搜索了2天没有找到,我正在寻找如何使用控制器清除数据库。但是那个答案说不要在控制器中使用 rake 命令。那么如何设置我的控制器来清除数据库呢?
  • 你害怕他们不会付钱给你吗?

标签: ruby-on-rails ruby database controller


【解决方案1】:

我认为您可能误解了控制器的作用。查看官方 Rail 的guide

动作控制器是 MVC 中的 C。在路由确定了哪个控制器用于请求之后,您的控制器负责理解请求并产生适当的输出。

假设您想删除特定模型的所有记录,您可以执行以下操作:

class ModelNameController < ApplicationController
  def delete_all
    ModelName.delete_all # This also accepts optional conditions.
  end 
end

请记住,如果您想清理数据库,那不是控制器的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多