Because in some cases you want to use a nonexistent column, or you want to create a new virtual model
You can create a new tableless.rb under concerns under models, with the following code:
Module tableless
def self.included (Base)
Base.extend (Classmethods)
Base.send (: Include,instancemethods)
End
Module Instancemethods
def save (Validate = True)
Validate? Valid? : True
End
End
Module Classmethods
def column (name, Sql_type = nil, default = nil, NULL = TRUE)
Columns << activerecord::connectionadapters::column.new (name.to_s, default,
sql_type.to_s, NULL)
End
def columns
@columns | | = [];
End
End
End
The use of the model is as follows:
Class Notice < ActiveRecord::Base
Include Tableless
Column:code,: Integer
Column:message,: String
Attr_accessor:code,: Message
End
Create a new model;rails, Ruby, Rack without a database table or column