gpt4 book ai didi

ruby-on-rails - 保护子句而不是将代码包装在条件表达式中 Rails

转载 作者:行者123 更新时间:2023-12-03 11:21:32 24 4
gpt4 key购买 nike

有以下代码:

# API controller for authentication
class Api::V1::SessionsController < Api::V1::ApplicationController
skip_before_action :authorize

def create
@user = User.find_by(email: params[:user][:email])
unless @user && @user.authenticate(params[:user][:password])
@error_message = 'Invalid username or password'
render 'shared/error', status: :unauthorized
end
end
end

我使用 Rubocop 检查我的代码是否符合 Ruby 准则。我收到以下错误:
Use a guard clause instead of wrapping the code inside a conditional expression.
unless @user && @user.authenticate(params[:user][:password])

所以,我不明白如何使用保护子句使这段代码更好。提前致谢!

最佳答案

以下 rubocops 规范:https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/GuardClause

就像是...

return if @user && @user.authenticate(params[:user][:password])
@error_message = 'Invalid username or password'
render 'shared/error', status: :unauthorized

关于ruby-on-rails - 保护子句而不是将代码包装在条件表达式中 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31153934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com