1
我想做一個庫存系統,我的表默認情況下索引「id」是主鍵。如果庫存已經存在,我的庫存號應該是唯一值,以在表中創建新條目,然後它應更新屬性。這是怎麼做到的?通過將庫存號碼作爲主鍵?或者有什麼方法可以檢查和更新庫存已經存在?Ruby Rails - 保存vs更新的方法
我想做一個庫存系統,我的表默認情況下索引「id」是主鍵。如果庫存已經存在,我的庫存號應該是唯一值,以在表中創建新條目,然後它應更新屬性。這是怎麼做到的?通過將庫存號碼作爲主鍵?或者有什麼方法可以檢查和更新庫存已經存在?Ruby Rails - 保存vs更新的方法
這工作:create_or_update method in rails
my_class = ClassName.find_or_initialize_by_name(name)
my_class.update_attributes({:street_address => self.street_address,.....})
您可以擁有唯一的字段number
(例如)。比你可以使用find_or_create_by_<field_name>
髒方法。
@ticket = Ticket.find_or_create_by_number(503)
更新時間:
@ticket.attrib = 'new attribute value'
@ticket.save
或
@ticket.update_attribute :attrib, 'new attribute value'
感謝ck3g!此方法是否也更新現有記錄? – 2012-04-16 12:59:13
如果Ticket已經存在,那麼只需抓住它。如果不存在,則創建。之後你可以使用update_attribute,保存等。 – ck3g 2012-04-16 13:05:03