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

看板Ruby作者 (做自己 好自在)時間14年前 (2010/10/29 19:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/8 (看更多)
※ 引述《yanggary (羊小排)》之銘言: : ※ 引述《hellolucky (做自己 好自在)》之銘言: : : 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)這樣的輸出格式 : : 我不知道你的單號需不需要連續 : : 如果不需要連續 建議可以使用年+id的組合避免重複 : : 使用after_create : : 再在裡面處理formnumber : : 最後在save一次 : 我單號需要連續我是抓現在的[年份+0001.......]的序號,所以到明年就變成 : [2011+0001] : : 另外日期處理不用這麼複雜 可以去查一下ruby時間的處理方式 : : 希望對你有幫助^^ : 這日期部份我在菸酒菸酒(研究研究) : 此外在new的時候會有問題?會有怎樣的問題,可否提供建議,謝謝!! 假設今天有兩個使用者a和b 同時使用這個系統新增訂單 a進入新增頁面編輯 => b進入新增頁面編輯 現在訂單數從20100001開始 formnumber該怎麼抓?兩個都得到20100001? 諸如此類訂單重複的問題 解法大概就是多設一個counter去計算現在的編號 new的時候去跟counter要號碼 counter + 1 可能需要用transaction去處理這件事 避免同時動作而得到同樣的訂單編號 ex: 有a和b兩個使用者 a => 要號0001 => b要號0001 => a把counter+1 => b把counter+1 => counter=0003 諸如此類的問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.160.41
文章代碼(AID): #1CohCm-3 (Ruby)
討論串 (同標題文章)
文章代碼(AID): #1CohCm-3 (Ruby)