【发布时间】:2014-06-22 02:13:43
【问题描述】:
我正在创建一个复制项目的操作,然后允许用户对其进行编辑并将其保存回数据库。
我在我的控制器中编写了以下方法,它主要与回形针附件不同,因为某些原因不会移动。
def duplicate
existing_event = Event.find(params[:id])
@event = Event.new(existing_event.attributes)
render action: 'new'
end
我已经看到this question 这个人正在使用.dup,但在用户在保存之前编辑新项目的情况下,我似乎无法正常工作。
我也尝试过使用 @event.image = existing_event.image 之类的东西,但这也没有任何效果。
这就是我的创建方法的样子:
def create
@event = Event.create(event_params)
if @event.save
redirect_to events_path, notice: "Event was successfully created."
else
render action: 'new'
end
end
如果有什么不同的话,我也会使用 S3 来上传图片,如果上面有多个图片副本对我来说并不重要。
有人可以帮忙吗?谢谢!
【问题讨论】:
-
为什么不
@event = Event.find(params[:id]); render 'new'这应该用所有数据呈现new.html.erb,然后在保存时创建一个新记录。鉴于您没有验证唯一性,因为您正在尝试复制,这似乎势在必行。
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 paperclip