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