作者bypang (甚麽时候才等到你)
看板Ruby
标题[问题] 如何以DRY的方式写code?
时间Wed Oct 7 11:25:35 2009
环境:
Ruby 1.8.7 Rails 2.3.4
状况:
我写的是一个企业管理程式,在每开一个新的作业流程都会先取得一个新的编号
(不是预设的id)。例如Quotation,我在Quotations Helper里是这样写:
module QuotationsHelper
def new_doc_no
Quotation.find(:first, :order => 'doc_no DESC').doc_no + 1;
end
end
至于其他的作业流程是否也要写类似的helper function,还是有更DRY的方式?
谢谢指教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.101.213.59
1F:→ shelary:这样写在有很多人同时使用时会有问题。doc_no有可能重覆 10/07 11:29
2F:→ bypang:在正式写入database时会用transaction检查一遍,再写入 10/07 11:47
3F:→ bypang:然後会用一个alert告知使用者doc_no已经修改了 10/07 11:48