我想在 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
在此有一个非常好的 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 回答