0

テーブルレスのARオブジェクトが欲しい。擬似コード:

# tablefull AR object
class Item < ActiveRecord::Base
  has_one :color
end

# tableless AR object, but persistant
class Color
  include ActiveAttr::Model
  belongs_to :item
  attribute :color
  Colors = [:yellow, :red, :black]
end

# expect
Color.first => #<Color id:1, color: :yellow>
Item.create(color: Color.first, foo: 'bar')
Item.where(color_id: Color.first)

私は以下を見ていますが、これらはテーブルレスで永続的ではありません。 Rails 3 で ActiveRecord テーブルレス モデルを作成する方法 Ruby on Rails: 完全に機能するテーブルレス モデル

4

1 に答える 1

0

非標準的な方法でいくつかの用語を使用しています。Rails コミュニティ (および私が知っているほとんどの技術コミュニティ) が「永続性」について話すとき、それは「耐久性のある場所にデータを保存すること」を意味します。これは、少なくとも「アプリケーションのメモリ以外の場所にデータを保存する」ことを意味し、通常は「アプリケーションがクラッシュしても生き残る方法で (ディスクなどに) データを保存する」ことを意味します。ActiveRecord の場合、持続性とは、SQL データベースへの保存という非常に特殊なものを意味します。

したがって、あなたの例は「テーブルレス」モデルの取得に成功しています。ActiveRecord での永続性が必要な場合は、通常の (テーブルに基づく) モデルを使用してください。これはあなたが探している答えではないかもしれませんが、それはあなたが聞く必要があるものです.

于 2013-03-15T13:30:08.723 に答える