将代码从控制器移动到模型(瘦控制器胖模型)
你好 我是 RoR 的新手。如何将简单的控制器逻辑切换到模型? 我的数据库列是 order_type、数量、数量_调整
控制器
def create
@product = Product.new(params[:product])
# This is the control structure I want to move to Model
if @product.order_type = "Purchase"
@product.quantity_adjusted = -quantity
else
@product.quantity_adjusted = quantity
end
end
型号
class Product < ActiveRecord::Base
end
谢谢 黄体激素
Hello
I'm new in RoR. How can I switch my simple controller logic to the model?
My database columns is order_type, quantity, quantity_adjusted
Controller
def create
@product = Product.new(params[:product])
# This is the control structure I want to move to Model
if @product.order_type = "Purchase"
@product.quantity_adjusted = -quantity
else
@product.quantity_adjusted = quantity
end
end
Model
class Product < ActiveRecord::Base
end
Thanks
LH
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有很多方法可以做到这一点。 创建一个实例方法,例如 :
一种可能是最自然的方法是在您的产品模型中 。然后在你的控制器中,你会这样做:
There are many ways to do it. One way, possible the most natural, is to create an instance method like :
in your Product model. Then in your controller, you would do :
您可以在模型中使用回调。例如
after_create
。控制器:
型号:
You could use a callback in your model. E.g.
after_create
.Controller:
Model: