我是一个来自rails背景的hanami新手,我想知道在验证一个模型是否被持久化在创建操作中的最佳实践。
我创建了一个用户/创建操作,如下所示:

class Create
    include Web::Action

    def call(params)
          repository = UserRepository.new

          @user = repository.create(name: params[:user][:name],
                                    email: params[:user][:email],
                                    type: 'standard')
          redirect_to '/users'
    end
  end

我想确保我只在用户创建成功时重定向用户。我发誓,我会这样做:
redirect_to '/users' if @user.persisted?

但这不是哈纳米做事的方式目前我正在做的是:
redirect_to '/users' if [email protected]?

但看起来不干净对哈纳米最好的办法是什么?

最佳答案

试试这样的。

def call(params)
  repository = UserRepository.new

  @user = repository.create(name: params[:user][:name],
                            email: params[:user][:email],
                            type: 'standard')
  redirect_to '/users'
rescue Hanami::Model::Error
  # handle the error
end

关于ruby - Hanami-如何正确检查模型是否持久?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44846454/

10-14 06:33