活动记录简单类的查询方法

时间:2015-02-02 11:12:15

标签: ruby-on-rails activerecord metaprogramming activemodel

我已经使用Active Model创建了类,它按预期工作,但是几乎没有要求

1)我想对all使用class方法。

2)同样的方式我想对where使用class方法之类的查询方法。

3)我想创建ActiveRecord::Relation,以便我可以进行方法链接。

见我的课程:

require 'active_model'
require 'active_record'


class Message
 include ActiveModel::Validations
 include ActiveModel::Conversion
 extend ActiveModel::Naming

 attr_accessor :name, :email, :content

 validates_presence_of :name
 validates_length_of :content, :maximum => 500

 def initialize(attributes = {})
  attributes.each do |name, value|
   send("#{name}=", value)
  end
 end

 def persisted?
   false
 end
end


 m = Message.new(:email => "test",:name => "test")
 puts m.name   #=> test
 puts m.class  #=> Message
 puts m.valid? #=> true

 Message.all
 Message.where(:name => "test")

更多方法:

 where
 limit
 having
 group
 select
 order
 uniq

请你帮我实现这个目标或给出一些指导。

0 个答案:

没有答案