开发者

How to maintain duplicate record in database?

开发者 https://www.devze.com 2023-03-03 18:23 出处:网络
My table contains two columns Title and Description. I want to provide a functionality to user to create duplicate page for existing page.

My table contains two columns Title and Description. I want to provide a functionality to user to create duplicate page for existing page.

Like for existing page database store value like.

Title1 , Description1

When user clicks on duplicate page button I want to create a duplicate entry for the existing page like this.

1) Click First Time

Copy_1_Title1, Descriptio开发者_运维百科n1

2) Click Second Time

Copy_2_Title1, Description1

How can I create this type of functionality ? How should be my database for this ? Is this a proper way ?


I think you should create third column and name it for example copy_number, and then before creating record you can find it by title and if title exist you can get value of copy_number and increment it. Then you can use this number to display titles as you wish:
"copy_#{record.copy_number}_#{record.title}" or something like this.


@bor1s has suggested very right solution.

But for the interest you can use this mthod for duplication :)

class Page < AR::Base
  def duplicate
    # new_page = self.clone
    new_page = Page.new self.attributes.except(:id, :created_at, :updated_at)
    copy = (self.title.match(/Copy_(\d)+.*/).try([1]) || 0) + 1
    new_page.title = "Copy_#{copy}_#{self.title}"
    new_page.save
  end
end
0

精彩评论

暂无评论...
验证码 换一张
取 消