0

将 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 来运行验证?

4

0 回答 0