Ruby(Rails)DRY - 功能模式

时间:2017-07-05 18:28:01

标签: ruby-on-rails ruby

我在轨道上使用ruby进行项目,并注意到我在我的函数上使用了一些模式:

begin
    ActiveRecord::Base.transaction do
        #some database manipulation
    end
    return true
rescue
    return false
end

所以我想干掉我的代码,只有#some数据库操作才会改变。有关我如何做到这一点的任何想法?提前谢谢!

1 个答案:

答案 0 :(得分:3)

你可以创建一个这样的方法:

Fatal

然后使用它:

def with_transaction
  ActiveRecord::Base.transaction do
    yield
  end
  return true
rescue 
  return false
end

但一般来说,我会建议不要像这样沉默。