请帮忙咨询。我无法确定代码更正确。
UserController variant1:
def create
@user = User.new(user_params)
if @user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
flash.now[:error] = 'Invalid data'
render 'new'
end
end
UserController variant2:
def create
begin
@user = User.new(user_params)
@user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
rescue
flash.now[:error] = 'Invalid data'
render 'new'
end
end
答案 0 :(得分:0)
由于几个原因,变体1更正确。这里有一些广泛的观点。例外应该是例外。他们应该被抓住并成长。当您提出异常时,您也应该寻找特定的异常。我知道这些是广泛的,但你应该阅读有关例外情况 - 这里是关于在控制器http://guides.rubyonrails.org/action_controller_overview.html中使用异常的Rails指南。