【发布时间】:2016-11-09 03:16:33
【问题描述】:
是否应该挽救因缺少参数而引发的异常?
例如在FriendRequestsController中的以下代码:
def update
@request = FriendRequest.find(params[:id])
if @request.update(friend_request_params)
flash[:notice] = "Friend request updated successfully."
redirect_to current_user
else
flash[:errors] = @request.errors.full_messages
redirect_to current_user
end
end
private
def friend_request_params
params.require(:friend_request).permit(:status)
end
如果对模型的更新调用失败,错误消息将存储在flash 中。但是,如果params 出现问题,导致在friend_request_params 辅助方法中引发异常,则应用程序将失败。
这是允许这样做的约定吗?有没有更好的方法来做到这一点?
【问题讨论】:
标签: ruby-on-rails ruby exception parameters rescue