我有一個簡單的Rails 3發票應用程序有如下型號:生成帶前綴的隨機資源ID?
Brand
Client
Invoice
一個品牌擁有衆多的發票,客戶有許多發票和發票屬於客戶和品牌。基本上,品牌是創建發票的公司,客戶是發票的收件人,發票是實際發票。
我想找出每個發票的簡單隨機參考號碼的最佳方法,每個發票的前綴都是每個品牌獨有的東西。
我正在考慮爲品牌表添加一個invoice_prefix。然後品牌每個都會有一個三位數的前綴,如DAN-
。
在發票表中的列中添加品牌前綴和5位隨機數的最佳方式是什麼?
我很樂意提供更好的方法來達到這個目的!
我希望每個發票的最終結果都具有與DAN-98372
類似的唯一參考。
我認爲最好的辦法是將前綴列添加到品牌表中,然後爲在品牌前綴後面插入隨機數的發票創建before_create操作。我只是不確定最好的方式來做到這一點。
before_create :generate_reference
private
def generate_reference
self.invoice_number = self.brand.prefix
end
上面的代碼正確地拉入品牌前綴,但我不確定如何隨後添加一個隨機的5位數字。
我認爲像<%= rand(1000..9999) %>
可以工作,但我不知道如何將其添加到before_create中的品牌前綴。
我不是很熟悉after_create方法,所以任何意見將不勝感激!
我認爲,但後來決定反對,因爲我不想讓客戶知道發票的數量。如果他們知道業務是多麼繁忙/安靜,似乎是一個壞主意。 – dannymcc 2013-04-03 23:47:25