ActiveModel 是一个供每个 ORM 实现的类,用于允许 Rails 生成自定义的控制器代码。
该API 具有与ActiveRecord 相同的 métodos,但每个 método 返回一个与 ORMAPI 匹配的字符串。
例如
ActiveRecord::Generators::ActiveModel.find(Foo, "params[:id]") # => "Foo.find(params[:id])" DataMapper::Generators::ActiveModel.find(Foo, "params[:id]") # => "Foo.get(params[:id])"
在初始化时,ActiveModel 接受将接收调用的实例名称。
builder = ActiveRecord::Generators::ActiveModel.new "@foo" builder.save # => "@foo.save"
对于ActiveRecord,ActiveModel 中的唯一例外是使用 self.build 而不是 self.new。
方法
Attributes
| [R] | name |
类公共方法
all(klass) 链接
用于
-
GET
index
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/active_model.rb, line 38 def self.all(klass) "#{klass}.all" end
build(klass, params = nil) 链接
用于
-
GET
new -
POST
create
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/active_model.rb, line 56 def self.build(klass, params = nil) if params "#{klass}.new(#{params})" else "#{klass}.new" end end
find(klass, params = nil) 链接
用于
-
GET
show -
GET
edit -
PATCH / PUT
update -
DELETE
destroy
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/active_model.rb, line 48 def self.find(klass, params = nil) "#{klass}.find(#{params})" end
new(name) 链接
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/active_model.rb, line 31 def initialize(name) @name = name end
实例公共方法
destroy() 链接
用于
-
DELETE
destroy
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/active_model.rb, line 89 def destroy "#{name}.destroy!" end
errors() 链接
用于
-
POST
create -
PATCH / PUT
update
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/active_model.rb, line 82 def errors "#{name}.errors" end
save() 链接
用于
-
POST
create
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/active_model.rb, line 67 def save "#{name}.save" end
update(params = nil) 链接
用于
-
PATCH / PUT
update
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/active_model.rb, line 74 def update(params = nil) "#{name}.update(#{params})" end