我正在尝试复制活动的商品记录。
在我的items_controller上:
def duplicate
@item = Item.find((params[:id]))
@item_copy = @item.dup
render 'new'
end
我从显示视图中称呼它,
<%= link_to "copy", duplicate_item_path(params[:id]) %>
路线:
resources :items do
member do
get 'duplicate'
end
end
点击链接后,我需要编辑@item。
如果我将表单更改为
<%= simple_form_for(@item_copy) do |f| %>
我得到了预期的结果,这是一个充满@item属性的新表格。
我真的需要单独的表格来进行复制吗?还是我遗漏了什么?
答案 0 :(得分:0)
您需要在操作中正确定义@item
:
def duplicate
@item = Item.find(params[:id]).dup
render 'new'
end
在这种情况下,两种操作只能有一个带有<%= simple_form_for(@item) do |f| %>
的表格。