【问题标题】:DRY code by creating ruby objects/variables dynamically通过动态创建 ruby​​ 对象/变量来干燥代码
【发布时间】:2012-08-29 16:08:04
【问题描述】:

我对 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)

如何在 ruby​​ 中做到这一点?

【问题讨论】:

标签: ruby ruby-on-rails-3 dry


【解决方案1】:

为什么不保留params 变量?那你根本不用分配任何其他变量?

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 2014-05-27
    • 2012-05-18
    相关资源
    最近更新 更多