我是一个来自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/