简单的Rails代码。什么更漂亮?

时间:2013-10-25 13:37:14

标签: ruby-on-rails ruby

您认为哪个更漂亮,更清洁?

1)

subscription && subscription.update_attributes(subscription_hash)
subscription

2)

subscription.tap { |s| s && s.update_attributes(subscription_hash) }

3)

subscription.tap do |sub|
  sub.try(:update_attributes, subscription_hash)
end

4)

subscription.try(:update_attributes, subscription_hash) ? subscription : nil

请投票或其他......

3 个答案:

答案 0 :(得分:2)

我会说#4

subscription.try(:update_attributes, subscription_hash) ? subscription : nil

阅读和理解imo更容易

答案 1 :(得分:2)

我会使用#1因为它的直截了当或#4因为它是一个相当可读的单行。

@Stefan - 您的代码很好,但无效。 subscription == nil会失败,这似乎对这个问题非常重要

答案 2 :(得分:1)

我会说#1

subscription && subscription.update_attributes(subscription_hash)
subscription