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

看板Ruby作者 (做自己 好自在)時間14年前 (2010/10/29 00:46), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串4/8 (看更多)
※ 引述《yanggary (羊小排)》之銘言: : ※ 引述《yanggary (羊小排)》之銘言: : : ruby 1.8.7 rails 2.3.8 : : 小弟有幾個問題,我是用scaffold建出基本框架 : : Q1:(有圖有碼) : : 我在新增時formnumber(這欄位每次新增自動會累加)都不會顯示號碼 : : 在按下create後才會顯示 : : 是否哪裡有錯? : : models/funtions http://goo.gl/6DGl new controller => new view => create controller => before_validation 你的before_validation在new的view後面 所以當然在new的view看不到編號 : : Q2:(有圖) : : 如一筆資料新增後需要再做編輯 : : update之後formnumber的值又會自動加1, : : 如何讓鎖住他在編輯的時候不要自動加1? 因為你是用before_validation 在create和update都會觸發 假如是用before_create就可以避免在update的時候+1 : : Q3:(有圖有碼) : : 關於日期顯示的問題 : : 在new跟edit的Datenow我是抓取Date.today : : 後來想到如果我今天新增2010-10-28明天作修改2010-10-29 : : 日期就被改成2010-10-29,那如果edit的Datenow我改用created_at時間就不會被改 : : 有沒有可以一致的方式? : : views/edit http://goo.gl/XGtd : : view/new http://goo.gl/ktbv : : 有圖http://http://goo.gl/fx3z,有程式碼 : : 這兩個欄位在新增的時候要先顯示出來且不可被修改 : : 感謝在先!! Ruby on Rails在ActiveRecord建立資料表的時候 只要在migration加上timestamps就會自動建立created_at和updated_at兩個欄位 要撈建立時間就抓created_at 要撈最後修改時間就抓updated_at : 我現在在做一個訂單的系統formnumber是訂單編號(20100001...20100002...) : 每次在新增的時候單號會自動顯示在新增編輯頁面且不能被修改 : 而datenow是新增訂單的日期 : Q1.的意思就是現在在新增的編輯頁面沒辦法顯示單號,按下create後才會顯示單號 : 我想要在新增編輯時就顯示這單號,該怎麼修改程式? 我不知道你的單號需不需要連續 如果不需要連續 建議可以使用年+id的組合避免重複 使用after_create 再在裡面處理formnumber 最後在save一次 : 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時間的處理方式 希望對你有幫助^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.79.140

10/29 01:01, , 1F
順帶一提 如果要在new就顯示訂單編號 會有很多問題
10/29 01:01, 1F

10/29 09:04, , 2F
感謝大家三更半夜不睡覺幫我解問題,我先試一下,在new
10/29 09:04, 2F
文章代碼(AID): #1CoQZ8n2 (Ruby)
討論串 (同標題文章)
文章代碼(AID): #1CoQZ8n2 (Ruby)