Trailblazer 是基于 Rails 的一个瘦的封装层,加强了代码的封装使用,更直观的代码结构和面向对象架构。是一种概念驱动的架构模型,项目目录如下:
app ├── concepts │ ├── comment │ │ ├── cell.rb │ │ ├── views │ │ │ ├── show.haml │ │ │ ├── list.haml │ │ ├── assets │ │ │ ├── comment.css.sass │ │ ├── operation.rb │ │ ├── twin.rb
架构:
验证器实例:
class Comment < ActiveRecord::Base class Create < Trailblazer::Operation contract do property :body, validates: {presence: true} end def process(params) @model = Comment.new validate(params[:comment], @model) do |f| f.save end end end end