【发布时间】:2011-12-17 07:32:12
【问题描述】:
问题:尽可能避免创建多个对象或多个查询。
我使用带有 Rails 的 Presenter 作为最佳实践。
我遵循的建议说最好使用“扩展 ActiveSupport.Memoizable”(然后 memoize :method(s) 来使用它们)而不是设置具有 @the_record = record ||= @record 样式的项目,因为有几个问题- false 或 nil 没有被存储,因此查询被再次调用,并且 memoizable 更好地使用缓存(即使用它!)。
但是我发现在 rails 3.1 中 memoizable 已被弃用 注意我在carrierwave下的github和声明: “弃用警告:ActiveSupport::Memoizable 已弃用,将在未来的版本中删除,只需使用 Ruby 备忘录模式即可。(从 /Users/kain/.rvm/gems/ruby-1.9.3-preview1/bundler/ 的扩展调用gems/carrierwave-c4459179b0f8/lib/carrierwave/mount.rb:284"。
也许它已经解决了?有人知道吗?
关于未来使用的最佳实践有什么建议吗?使用 ||= 语法?以上问题怎么办?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 presenter memoization