如何在rails中订购属性分配?

时间:2014-01-06 05:59:36

标签: ruby-on-rails

我为铁路商店编码。 我有订单,产品和line_items(有计数)

我现在想要创建一个新订单项。

我的表单在请求中返回,并且params设置得很好。 我做assign_attributes

我想创建一个新的订单项, 但我需要按特定顺序进行分配。

实际上首先应该首先将订单分配给订单项, 接下来应该分配产品, 只有这样才能分配计数。 (aka count =取决于已经分配的订单和产品)

Aka的属性分配顺序在这里很重要。

我在这里覆盖assign_attributes,以正确的顺序放置属性。 还有其他人也使用这个技巧吗?

那里有没有宝石可以帮我吗? (比如在assign_attributes中排序属性asignments)

1 个答案:

答案 0 :(得分:1)

我对此的解决方案是将每个子步骤放入单独的方法中,并在公开的方法中按顺序调用它们。我还建议不要重写#assign_attributes来防止对所谓的内容产生歧义和不确定性。好的代码是可读的代码。

def assign_order_attributes( order_params = {} )  
    step_1
    step_2
    step_3
end