0

Rails でモデルを使用したいのですが、DB には保存しません。たとえば、RSS リーダーがあるとします。他のサイトからいくつかの RSS データをダウンロードしてから、特定のモデルでオブジェクトを作成し、それらを使用するように示します。ただし、これらのオブジェクトをデータベースに保存したくありません。どうすればいいですか?

4

3 に答える 3

2

あなたの問題は、クラスを作成するだけで簡単に解決できると思います。代わりに、ActiveModel を使用することもできます。これにより、データベースに保存せずに同じ動作が可能になります。

class RssReader
  #include any behaviour you like
  include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming
end

これに関する非常に優れたレールキャストが次の場所にあります。

これをチェックすることもできます(Rails 4)

于 2013-05-29T12:18:59.370 に答える
0

あなたはテーブルレスモデルを探しています.SOにはこれに関する多くの質問があります:

そして便利なレールキャスト!

于 2013-05-29T12:19:14.540 に答える
0

Rails 2.3では、次の方法でこれを行うことができます:

class OrderSession < ActiveRecord::Base
  def self.columns() @columns ||= []; end


  column :orderable_id, :integer
  column :orderable_type, :string
  column :subscription, :boolean
  column :interval, :integer
  column :quantity, :float
  column :number, :integer
  column :only_with_main_cart, :boolean
  column :start_on, :date

  attr_accessor :choice_item
  attr_accessor :interval_choice_item_1
  attr_accessor :interval_choice_item_2
  validates_presence_of :orderable_id
  validates_presence_of :orderable_type
  validates_presence_of :interval
  validates_numericality_of :quantity, :greater_than => 0
  validates_inclusion_of :subscription, :in => [true, false]
  validates_inclusion_of :only_with_main_cart, :in => [true, false]

end

ユーザー確認前にカート情報を保存するために使用しています

于 2013-05-29T12:21:33.790 に答える