在流浪汉中克隆行动

时间:2012-06-14 07:19:09

标签: ruby-on-rails-3.1 controller clone customization hobo

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

我知道如何在Rails中执行此操作,但在Hobo中执行此操作似乎并不直观。

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

例如

POST /papers/10/clone

然后将创建新记录123。

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

是否有任何示例和指南来实现该方案?

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

1 个答案:

答案 0 :(得分: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中。