我的 Qt 应用程序是基于EditableTreeModelQt 的示例构建的。在TreeModel类中,有一个名为的函数getItem(),它接受QModelIndex作为参数并返回 a TreeItem。
对于我的应用程序,我需要相反的功能:QModelIndex从TreeItem. 这应该独立于视图。这意味着我无法使用该功能QTreeView::currentIndex()。
我的问题有什么好的解决办法吗?
假设我们的模型策略中有操作,可以false在许多不同的场景中返回:
class PostPolicy
{
public function publish(User $user, Post $post)
{
if ($post->user_id !== $user->id) {
return false;
}
return $post->show_at->lessThan(now());
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我们在两种情况下拒绝该用户的发布权:如果这不是他的帖子,或者如果该帖子是为尚未到期的某个未来日期提前准备的。
我如何提供一些有关授权失败原因的背景信息?是因为我们不是所有者还是因为还没有到发表这篇文章的时候?
$user->can('publish', $post); // if this returns false we don't know
// what caused authorization to fail.
Run Code Online (Sandbox Code Playgroud)
看起来 Laravel 的政策在设计上没有任何办法做到这一点。但我很好奇可能有哪些解决方法,以便我们可以在一个地方(模型的策略)拥有授权逻辑(无论多么复杂),并在授权失败时获得一些上下文(即自定义错误代码)。
有任何想法吗?
我无法在 APM 下看到我的应用程序的跟踪 --> Datadog 中的服务。我从 Datadog 文档中找到了一些示例代码,但不知道它应该在我的应用程序中的确切位置。如果有人对此有任何想法,请告诉我。
我已经在我的 js 文件中尝试了以下代码。我的应用程序基于无服务器的节点 js。
const tracer = require('dd-trace').init();
tracer.use('http', {
service: 'test'
});
Run Code Online (Sandbox Code Playgroud)
我还在 package.json 中为 dd-trace 添加了依赖项 "dd-trace": "^0.11.0"
我希望在 Datadog 的 APM 服务中以正确的名称列出我的应用程序。