如何计算表单提交上两个字段的差异 Ruby on Rails
我是 Ruby on Rails 的新手,一直在使用脚手架。在其中一个表单上,我希望能够有两个字段,然后将两个字段之间的差异提交到数据库。
我希望计算(结束金额 - 起始金额)并将其输入数据库的 pickupamount 列,而不是 :pickupamount。
提前致谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在模型或控制器中执行此操作。与 Skinny Controller Fat Model 一起使用,它可能最好将功能放入您的模型中。查看 ActiveRecord 回调。
然后,在您的控制器中:
将以下扩展方法包含到 Ruby 的
String
类中可能会很有用(感谢 sikelianos),可能在 Rails 应用程序 lib 目录中的文件中:然后您可以在设置
pickupamount
之前执行检查:You could do this in either your model or your controller. Going along with Skinny Controller Fat Model, it might be better to put the functionality in your model. Check out ActiveRecord callbacks.
Then, in your controller:
It might be useful to include the following extension method to Ruby's
String
class (thanks to sikelianos), perhaps in a file in your Rails app's lib directory:Then you could perform a check before setting
pickupamount
:在您看来:
在您的控制器中:
In your view:
In your controller: