活动模型,活动logging和活动资源之间的区别
有没有人可以通过定义Active Model,Active Record和Active Resource之间的确切区别来帮助我。 我已经做了足够的search,以find确切的区别,但没有得到任何具体的东西,可以告诉他们之间的确切区别。 现在他们都和我一样。 所以请给我一些具体的答案。
Rails 3的devise考虑了模块性。 每个模块都有自己的目的和function。
ActiveModel :这个组件是在Rails 3中创build的。他们把没有Rails 2 ActiveRecord的数据库需求的所有模型相关的部分,并把它移到ActiveModel中。 所以ActiveModel包含诸如validation之类的东西。 更多信息: http : //www.rubyinside.com/rails-3-0s-activemodel-how-to-give-ruby-classes-some-activerecord-magic-2937.html
ActiveRecord :这是将类关联到数据库的组件。 这将给类的function,如方便,从数据库拉logging(一个例子是find方法)。
ActiveResource :类似于ActiveRecord。 但是,ActiveResource对象不是由数据库支持,而是由另一个应用程序通过Web服务API支持。 更多信息: http : //ofps.oreilly.com/titles/9780596521424/activeresource_id59243.html
(无法弄清楚ActiveBase …你从哪里听到的?)
我明白:
ActiveModel +数据库支持= ActiveRecord
ActiveModel通过WebService API = AcitveResource
ActiveModel https://github.com/rails/rails/tree/master/activemodel
想想一个不断需要validation的超级模型 。
ActiveModel可以用于许多事情,但主要是为了为模型/ dblogging添加validation支持而被认可。
ActiveRecord https://github.com/rails/rails/tree/master/activerecord
如表中logging一样logging。
设置数据库中新类和现有表之间的映射。
在应用程序的上下文中,这些类通常被称为模型。 模型也可以连接到其他模型; 这是通过定义关联来完成的。
class Firm < ActiveRecord::Base has_many :clients has_one :account belongs_to :conglomerate end
在后台,rails使用ActiveRecord进行模式pipe理,并为您的logging定义属性,充当ORM(对象关系映射器):
“ ORM:在数据库表或视图中包装行的对象,封装数据库访问,并在该数据上添加域逻辑。”
模式概述logging的属性。
ActiveResource https://github.com/rails/activeresource
认为资源就像URL中的R或为许多rails后端供电的资源路由 。
允许您通过HTTP执行诸如C reate, R etrieve, U pdate或D estroy(CRUD)之类的操作。
tyler = Person.find(1)
当对资源路由发出请求时,RESTful请求会映射其相应的HTTP动词及其数据库交互
GET => Person.find(1) POST => Person.new(:name => 'Tyler', :favorite_page => 'stackoverflow') PUT => tyler.save DELETE => tyler.destroy