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

在此有一个非常好的 railscast:

你也可以看看这个(Rails 4)

于 2013-05-29T12:18:59.370 回答
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 回答
0

你正在寻找无表模型,关于这个有很多问题:

还有一个方便的railscast!

于 2013-05-29T12:19:14.540 回答