我为铁路商店编码。 我有订单,产品和line_items(有计数)
我现在想要创建一个新订单项。
我的表单在请求中返回,并且params设置得很好。 我做assign_attributes
我想创建一个新的订单项, 但我需要按特定顺序进行分配。
实际上首先应该首先将订单分配给订单项, 接下来应该分配产品, 只有这样才能分配计数。 (aka count =取决于已经分配的订单和产品)
Aka的属性分配顺序在这里很重要。
我在这里覆盖assign_attributes,以正确的顺序放置属性。 还有其他人也使用这个技巧吗?
那里有没有宝石可以帮我吗? (比如在assign_attributes中排序属性asignments)
答案 0 :(得分:1)
我对此的解决方案是将每个子步骤放入单独的方法中,并在公开的方法中按顺序调用它们。我还建议不要重写#assign_attributes来防止对所谓的内容产生歧义和不确定性。好的代码是可读的代码。
def assign_order_attributes( order_params = {} )
step_1
step_2
step_3
end