1

我正在编写代码来克隆对象,但没有来自 Hobo 文档的提示。

我知道如何在 Rails 中做到这一点,但在 Hobo 中似乎没有直观的方法。

场景是在记录页面添加按钮,克隆现有记录,创建后重定向到新记录。

例如

POST /papers/10/clone

然后将创建新记录 123。

完成该操作后,它将重定向到页面/papers/123

是否有任何示例和指南来实现该场景?

如果 Paper 有很多评论,如何在没有权限错误的情况下克隆它们?

4

1 回答 1

1

Hobo 对克隆对象没有任何特殊支持,因此您必须下拉到 Rails 来执行此操作:

def clone
  paper = Paper.find(params[:id])
  fail if paper.nil?
  clone = paper.clone
  clone.save!
  redirect_to paper_path(clone)
end

您可以通过 Hobo 的 web_method 钩子将这个新的控制器操作添加到您的路由中,但这是为其他目的而设计的。你最好以标准的 Rails 方式将它添加到你的 config/routes.rb 中。

于 2012-06-14T15:07:09.157 回答