将 gem dry-rails添加到我的 rails 应用程序后,我定义了一个合同:
module Users
module Contracts
class New < ApplicationContract
params do
required(:todo).schema do
required(:title).filled(:string)
required(:items).array(:hash) do
required(:name).filled(:string)
end
end
end
end
end
end
但我不知道如何使这份合同生效。假设我有一个名为 UsersController 的控制器:
module Api
module V1
class UsersController < ApplicationController
before_action :set_user
private
def set_user
@user = User.find(params[:user_id])
end
end
end
end
我怎样才能让这个控制器使用合约 New 来运行验证?