Re: [問題] 如何在新增時候自動帶出相關資訊
※ 引述《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
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章