2013-09-25 38 views
0

我有一個​​有很多Tickets在軌如何寫回的數據

Tickets屬於accounttickets接受嵌套屬性爲accounts

account是下一個ticketticket_no

設置

所以我在門票模型中創建瞭如下功能

def store_ticket_no 
    number = self.account.ticket_no 
    if !self.ticket_no 
     self.ticket_no = number 
     number += 1 
    end 

我該如何寫回數字一次增加我試過number.save但沒有保存方法? 謝謝!

+0

所以這是一種方法,你會打電話給'票' - 就像'@ ticket.store_ticket_no'?如果是這樣,它應該在'ticket.rb' – dax

回答

0

self.account.update_attribute(:ticket_no , number) 

固定它是正確的方式做到這一點?

+1

是的,這將工作。請記住,當您使用update_attribute時,您將跳過您帳戶模型中的任何驗證和回調。然而,update_attributes方法會運行你的驗證,如果這是你想要的。 – sockmonk

+0

實際上,「update_attribute」將調用回調但不驗證。使用「update_column」將跳過回調和驗證。 – miked

+0

所以它本質上會跳過驗證的存在?的賬戶模式? – Rhys