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