2012-12-30 81 views
0

我有兩個表:Admin和Worker。他們有相同的參數(電子郵件,密碼等)。從表中刪除一行到另一個表

我試圖刪除包含電子郵件行:「[email protected]」從工人到表管理表(從操作員表中刪除)。

我想未來的事情:

@email = '[email protected]' 
@row_email_deleted = Worker.find_by_email(@email) 
Admin.add(@row_email_deleted) 
@row_email_deleted.destroy 

,但它不工作:/

有人可以幫助我解決我的問題呢?

+0

你有類似的結構兩個表?可能是你應該嘗試STI(單表繼承) –

+2

'不work'赫克,這並不意味着什麼...順便說一句什麼'add' mthod? – apneadiving

+0

我通過設備來定義它。我想要兩種用戶:管理員和工作人員。 –

回答

1

隨着apneadiving,我不知道是什麼的「添加」方法組成的。這並沒有很多細節,關於什麼是不工作,很難知道爲什麼它不工作。這就是說,忽略了這一切,我會做這樣的事情:

Worker.transaction do 
    @email = '[email protected]' 
    @worker = Worker.find_by_email(@email) 
    Admin.create(@worker.attributes.reject{|k,v| %w[id].include?(k)}) 
    @worker.destroy 
end 
相關問題