新手问题 如何使用数据库里的两个字段计算一个新的字段?

ChileNeverDie · 2020年10月01日 · 最后由 ken 回复于 2020年10月01日 · 708 次阅读

Hi there,

我想做一个计算单价的功能,Commodity 模型数据库里有 price,net 和 unit 三个字段会用在这个功能里面,另外设置了一个 unitprice 字段来存单价,基本的计算逻辑是判断 unit 是什么,是克的话就用 price/(net*1000),是千克的话就 price/net。。。。我思考了一下似乎也不用直接把这个值写到 unitprice 里面去,只要在网页上做一个运算就行,运算量也不大,主要想问下怎么写才把这个值计算出来啊 我看 Stack Overflow 上写的是用 before_save 去调用一个私有函数,但是我试了下 Rails6.0 说没有 before_save,只有 before_action,换过来以后有不知道怎么写了。。。

before_action 是 filter https://guides.rubyonrails.org/action_controller_overview.html#filters before_save 是 callback https://guides.rubyonrails.org/active_record_callbacks.html

rails6 没有的是 before_filter,被 before_action 代替了。

before_save 是有的。 写在 model 里就可以了。

ken 回复

好的~ before save 的事儿就解决了。。。然后 def 里面的问题又出来了。。。

把冒号都去掉就行了吧。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号