0

我对 Ruby 很陌生。我有几行代码要干燥它们。

foo_attributes = params[:foo]
params.delete(:foo)
bar_attributes = params[:bar]
params.delete(:bar)

我正在尝试做这样的事情

["foo", "bar"].each do |par|
  par_attribute = params[:par]
  params.delete(:par)
end

稍后在我的方法中,我需要调用传递对象 foo_attribute、bar_attribute 的其他方法。

喜欢:

call_foo_method(foo_attribute)

我怎样才能在红宝石中做到这一点?

4

1 回答 1

0

你为什么不只保留paramsvar?那么您根本不必分配任何其他变量吗?

您还可以通过组合两行来干燥第一个(和第二个示例):

foo_attributes = params.delete(:foo)
bar_attributes = params.delete(:bar)
于 2012-08-29T17:35:06.213 回答