Re: [問題] 如何在新增時候自動帶出相關資訊

看板Ruby作者 (羊小排)時間14年前 (2010/10/29 09:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/8 (看更多)
※ 引述《hellolucky (做自己 好自在)》之銘言: : ※ 引述《yanggary (羊小排)》之銘言: : new controller => new view => create controller => before_validation : 你的before_validation在new的view後面 : 所以當然在new的view看不到編號 : 因為你是用before_validation : 在create和update都會觸發 : 假如是用before_create就可以避免在update的時候+1 : Ruby on Rails在ActiveRecord建立資料表的時候 : 只要在migration加上timestamps就會自動建立created_at和updated_at兩個欄位 : 要撈建立時間就抓created_at : 要撈最後修改時間就抓updated_at 我現在就是抓timestamps的created_at的欄位,現在顯示的格式會帶時間 如果不要時間,比如我需要的格式是2010-10-29,是不是在後面直接加上 (%Y-%m-%d)這樣的輸出格式 : : 我現在在做一個訂單的系統formnumber是訂單編號(20100001...20100002...) : : 每次在新增的時候單號會自動顯示在新增編輯頁面且不能被修改 : : 而datenow是新增訂單的日期 : : Q1.的意思就是現在在新增的編輯頁面沒辦法顯示單號,按下create後才會顯示單號 : : 我想要在新增編輯時就顯示這單號,該怎麼修改程式? : 我不知道你的單號需不需要連續 : 如果不需要連續 建議可以使用年+id的組合避免重複 : 使用after_create : 再在裡面處理formnumber : 最後在save一次 我單號需要連續我是抓現在的[年份+0001.......]的序號,所以到明年就變成 [2011+0001] : : Q2.的意思是新增後如果要在對某筆訂單做修改,按下update後單號又自動加1 : : 這樣單號就沒辦法固定 : : 如:第一筆訂單單號20100001,修改第一筆訂單後單號變成20100002 : : 再修改一次就變成2010003,要怎麼做才不會讓他在update的時候加1 : : Q3.datenow是訂單新增的日期,在new頁面與edit頁面我原本是用Date.today : : 顯示新增日期,後來想如果新增顯示是2010-10-28,如果明天有修改這筆訂單 : : 日期就會變成2010-10-29,這樣就失去訂單的可識別性,無法追朔真正建立的日期, : : 後來想說在edit頁面改用created_at,這樣不管怎麼修改日期還是在2010-10-28, : : 除了我這個笨方法,還有沒有其他方式可以做到修改時日期還是維持在新增時候的日期? : : 如有不懂請在告知,謝謝!! : 另外日期處理不用這麼複雜 可以去查一下ruby時間的處理方式 : 希望對你有幫助^^ 這日期部份我在菸酒菸酒(研究研究) 此外在new的時候會有問題?會有怎樣的問題,可否提供建議,謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.171.237
文章代碼(AID): #1CoY1ia8 (Ruby)
討論串 (同標題文章)
文章代碼(AID): #1CoY1ia8 (Ruby)