看板 Ruby 關於我們 聯絡資訊
※ 引述《yanggary (羊小排)》之銘言: : 我現在在做一個訂單的系統formnumber是訂單編號(20100001...20100002...) : 每次在新增的時候單號會自動顯示在新增編輯頁面且不能被修改 : 而datenow是新增訂單的日期 : Q1.的意思就是現在在新增的編輯頁面沒辦法顯示單號,按下create後才會顯示單號 : 我想要在新增編輯時就顯示這單號,該怎麼修改程式? : Q2.的意思是新增後如果要在對某筆訂單做修改,按下update後單號又自動加1 : 這樣單號就沒辦法固定 : 如:第一筆訂單單號20100001,修改第一筆訂單後單號變成20100002 : 再修改一次就變成2010003,要怎麼做才不會讓他在update的時候加1 相關的問題一起回答 因為你用的是before_validation, 所以在新增的時候,這個callback還沒被跑到,自然沒有編號 另外,每次有修改就會重新作一次validation,當然訂單也就被重新設一個新的編號 你可以就在new裡面直接給訂單一個編號,不要用callback : Q3.datenow是訂單新增的日期,在new頁面與edit頁面我原本是用Date.today : 顯示新增日期,後來想如果新增顯示是2010-10-28,如果明天有修改這筆訂單 : 日期就會變成2010-10-29,這樣就失去訂單的可識別性,無法追朔真正建立的日期, : 後來想說在edit頁面改用created_at,這樣不管怎麼修改日期還是在2010-10-28, : 除了我這個笨方法,還有沒有其他方式可以做到修改時日期還是維持在新增時候的日期? : 如有不懂請在告知,謝謝!! rails本身就會自動設定created_at了, 所以在new的時候應該也不需要額外指定Date.today才對... -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.232.14 ※ 編輯: poga 來自: 114.25.232.14 (10/29 00:35)