代码之家  ›  专栏  ›  技术社区  ›  Marcos Placona

Rails无表模型

  •  2
  • Marcos Placona  · 技术社区  · 16 年前

    我正在创建一个无表Rails模型,我有点纠结于如何使用它。

    基本上,我正在尝试使用 Feedzirra

    作为一个例子,我有一个初始化方法,它第一次解析提要。在接下来的请求中,我只想调用get\u updates方法,根据feedzirra,该方法是只更新差异的现有对象(在初始化期间创建的)。

    我的代码看起来像:

    def initialize
         feed parse here
    end
    
    def get_updates
         feedzirra update passing the feed object here
    end
    

    不确定这是否是正确的方法,但这一切似乎有点混乱和不太清楚。我可能在这里做得太多或太少,但我想听听你对这种方法的看法。

    提前谢谢

    2 回复  |  直到 16 年前
        1
  •  0
  •   Peter Brown    16 年前

    实例变量不会在请求之间持久存在,因为它们是完全不同的实例。您可能希望将提要数据存储在数据库中,以便在请求之间保存,并在下一个请求之后更新。

        2
  •  1
  •   Eadz    16 年前

    在config/initializers/xxx中

    require 'singleton'
    class PersistanceVariableStore
      include Singleton
      def set(val)
        @myvar = val
      end
      def get
        @myvar
      end
    end
    

    例如,在控制器中:

    @r = PersistanceVariableStore.instance
    @r.set(params[:set]) if params[:set]
    

    然后在一个视图中:

    <%= @r.get %>
    

    @r中的值将在请求之间保持(除非在cgi模式下运行)。