代码之家  ›  专栏  ›  技术社区  ›  Igor Alexandrov

如何用Rails在数据库中存储不同的站点参数?

  •  0
  • Igor Alexandrov  · 技术社区  · 15 年前

    我如何组织这样的商店?

    4 回复  |  直到 15 年前
        1
  •  1
  •   Paul Campbell    14 年前

    我写了一个gem来实现这一点,最近为rails3更新了它:

    http://github.com/paulca/configurable_engine

    对于Rails 2.3.x

    http://github.com/paulca/behavior

    好好享受!

        2
  •  0
  •   Toby Hede    15 年前

    我对首选项非常懒惰,将数据存储为序列化的JSON或YAML哈希。工作非常好,而且通常也保留数据类型。

        3
  •  0
  •   JRL    15 年前

    我使用了一个表和一行,每列表示一个首选项。这使得拥有不同的数据类型成为可能。

    为了能够检索到偏好,我重写了 method_missing

    class Setting < ActiveRecord::Base
      @@instance = self.first
    
      def self.instance
        @@instance
      end
    
      def self.method_missing(method, *args)
        option = method.to_s
        if option.include? '='
            var_name = option.gsub('=', '')
            value = args.first
            @@instance[var_name] = value
          else
            @@instance[option]
        end
      end
    end
    

    因此,要检索设置,可以使用:

    a_setting = Setting.column_name
    
        4
  •  -2
  •   Mark Swardstrom    15 年前

    Rails迁移用于创建和更新数据库。

    http://guides.rubyonrails.org/migrations.html

    推荐文章