Ruby on rails 如何更新上一条记录而不是创建新记录
我用回形针上传图像。 我想要的是,当文件存在时,用文件名更新最后一条记录,而不是创建新记录。 在回形针中,文件名为Ruby on rails 如何更新上一条记录而不是创建新记录,ruby-on-rails,ruby,ruby-on-rails-4,paperclip,Ruby On Rails,Ruby,Ruby On Rails 4,Paperclip,我用回形针上传图像。 我想要的是,当文件存在时,用文件名更新最后一条记录,而不是创建新记录。 在回形针中,文件名为path 我正在尝试这个: def create if(params[:path]) @photo = current_user.photos.update_attribute(:path, params[:path]).last else @photo = current_user.photos.new(photo_params) end end 我的文
path
我正在尝试这个:
def create
if(params[:path])
@photo = current_user.photos.update_attribute(:path, params[:path]).last
else
@photo = current_user.photos.new(photo_params)
end
end
我的文件输入名是photo[path]
我只想将path
值添加到已存在的行中:
您可以在这里使用一些Rails魔法,特别是
find\u或\u create\u by
及其变体。例如,如果您这样做:
@photo = current_user.photos.find_or_create_by_path(params[:path])
它将首先查找具有该路径的条目,如果找不到,则创建一个新条目。注意,如果参数[:path]块,您也可以使用Ruby代替if
有关查找\u或\u创建\u的详细信息,请参见
,它可能会对您有所帮助