标签: scopes

如何使用belongs_to对象编写范围?

我有以下型号

楷模

Job
  belongs_to :company
Company
  has_many :jobs
Run Code Online (Sandbox Code Playgroud)

现在我使用以下方法选择所有Jobs 已接受Company的:

def self.with_accepted_company
  Job.all.reject {|job| job.company.state != "accepted" }
end
Run Code Online (Sandbox Code Playgroud)

但是我想使用范围并将其与其他范围一起使用.是否可以在Job模型中编写该范围?

ruby-on-rails scopes ruby-on-rails-3 rails-activerecord

9
推荐指数
1
解决办法
8618
查看次数

在rails中添加模型范围的文档

我不确定这是否真的可行,但我试图通过在我们的app/models文件中添加范围的文档来使我们的rails应用程序的文档更完整.我想要尝试做的是:

# This is a description of what the scope does and the action that it performs
scope :newest_records, order("created_at desc").limit(50)
Run Code Online (Sandbox Code Playgroud)

然后当我在应用程序上运行rdoc时,我希望将其newest_records列为公共类方法以及更传统的方法,这些方法将记录如下:

# some more documentation about this method
def self.a_class method
  ....
end
Run Code Online (Sandbox Code Playgroud)

编辑

我意识到这个问题可能有点含糊不清.所以这里是一个澄清的尝试:目前,当我尝试在scope声明上方添加注释行时,我没有得到RDoc为该范围生成的文档.我知道RDoc可以获取元方法/属性,否则它不会在声明的文档中显示属性attr_accessor.所以我的问题是如何在我的文件中添加注释,以便:

  • 该方法出现在我的RDoc生成的文档中
  • 它看起来像一个公共类方法(而不是公共实例方法等)

ruby-on-rails rdoc scopes ruby-on-rails-3

8
推荐指数
1
解决办法
740
查看次数

Julia 中的局部作用域

我知道 for 循环现在在 Julia 中是本地的。但是有一点我不明白。请考虑以下两个示例。

示例 1

a = 0
for i = 1:3
   a += 1
end
Run Code Online (Sandbox Code Playgroud)

示例 2

a = [0]
for i = 1:3
   a[1] += 1
end
Run Code Online (Sandbox Code Playgroud)

示例 1 抛出错误消息,我理解。但是示例 2 按预期工作。我该如何理解这一点?数组不是变量?有人可以向我解释一下吗?

arrays variables scopes julia

8
推荐指数
1
解决办法
176
查看次数

Google Oauth 预选范围

我的应用程序调用 Google Oauth(该应用程序是在 Google Cloud 控制台中设置的)。当用户看到 Google Oauth 同意屏幕时,例如,批准访问 adwords api 时,是否有办法控制范围预选?

理想的情况是能够访问预先选择的 Google AdWords,然后用户如果愿意的话可以取消选择它?

是否可以通过编程或在 Google Cloud 控制台中进行设置来对其进行任何级别的控制?

问题是,就目前情况而言,当用户第一次看到 Google Oauth 窗口时,会看到应用程序要求的范围,它们是未勾选的复选框,根据我的经验,很多用户忘记勾选它们,但应用程序取决于对它们的访问。

在此输入图像描述

正如您在上图中看到的,对于某些范围,我需要明确单击以允许应用程序访问。

在此输入图像描述

另外,以上内容是为了表明我已获得此类范围的批准。

我见过一些其他应用程序,它们只是作为事实呈现给用户(该应用程序需要这些范围,并且用户无法取消选择它们)

google-api scopes google-oauth google-cloud-platform

8
推荐指数
1
解决办法
4311
查看次数

Clear-Variable和设置变量之间的差异为NULL

我经常使用在脚本范围中声明的变量来避免函数及其范围的问题.我正在声明这样的变量:

New-Variable -Name test -Option AllScope -Value $null
Run Code Online (Sandbox Code Playgroud)

...或者有时我会像这样切换现有的变量来全面使用它们:

$script:test = $test
Run Code Online (Sandbox Code Playgroud)

当我想要清除它们时,我要么使用它:

Clear-Variable test -Scope Script
Run Code Online (Sandbox Code Playgroud)

......或者我只是用这个:

$test = $null
Run Code Online (Sandbox Code Playgroud)

有区别吗?我应该更喜欢什么?为什么?

variables powershell scopes

7
推荐指数
2
解决办法
2万
查看次数

OAuth-2.0/JWT - 关于何时使用作用域和角色的指南

我非常精通与OAuth 2.0 和 JWT 相关的大多数事情,但仍然有点令人困惑的一件事是是否/何时使用作用域与角色。

我认为一些混乱来自基于角色的授权在 ASP.NET Core(这是我工作场所的主要语言/框架)中的工作方式。例如; 如果我在 JWT 中有如下角色

{
  "aud": "test",
  "iss": "http://localhost:8080/auth/realms/test/",
  "iat": 1585192274,
  "nbf": 1585192274,
  "exp": 1585196174,
  "sub": "12345",
  "roles": ["Admin", "SuperUser"]
}
Run Code Online (Sandbox Code Playgroud)

我可以很容易地保护路线,而无需做太多事情,例如:

[ApiController]
[Route("api/v{version:apiVersion}/template/test")]
public class TestController : Controller
{
    [HttpGet]
    [Authorize(Roles = "Admin")]
    public IActionResult Get()
    {
        return Ok("test");
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用具有 dotnet 授权策略的范围来实现与上述非常相似的内容,但我只想知道是否有关于是否/何时使用范围或角色的指导,或者这只是一个偏好问题......

我在任何与 OAuth/JWT 相关的 RFC 中都找不到对角色声明的太多参考,而在整个过程中都提到了作用域。

authorization scopes oauth-2.0 jwt role-based-access-control

7
推荐指数
1
解决办法
2702
查看次数

如何配置 Google OAuth 同意屏幕以不显示复选框?

您好Stackoverflow社区,

我正在尝试配置网络应用程序以利用某些Google 范围。我希望用户要么批准所有这些,要么拒绝所有这些。

这正是我在使用Google OAuth Playground时得到的行为:

谷歌 OAuth 游乐场

看,我在每个范围内都有一个无法取消选中的“实心圆”。用户要么允许访问所有列出的范围,要么拒绝访问所有范围。一次全部。

但在我的应用程序中,每个权限都映射到一个可以ALLOWEDDENIED的弹出窗口。另外,最后会显示相同的同意屏幕,但用户可以选择/取消选择某些权限。(复选框)

范围1 范围2 同意屏幕

尽管这听起来可能更细致,但我认为这也有点令人困惑,而且它扩展了我的应用程序中的逻辑,因为我需要仔细检查是否已授予所有范围的权限。我确实需要它们来完成我需要做的事情,所以,只有一个范围对我来说没有用,我可能需要重新触发授予权限过程:这实际上是我试图避免的。我的意思是,处理完全被拒绝的情况是可以的,但部分范围获得批准并不是我想要的。

解决方案是模仿Google OAuth Playground的做法。

我已在我的同意屏幕配置中明确添加了范围(现在正在审核中)。但我仍然明白这种行为。

为了获得确切的行为,我可能会缺少 oAuth url 的哪些配置或参数?

谢谢!

google-api scopes oauth2-playground google-oauth

7
推荐指数
1
解决办法
4791
查看次数

为什么在 EmailJS 中添加服务时出现错误?

我在尝试在电子邮件 JS 中配置服务时收到 412 Gmail_API:请求的身份验证范围不足。此外,在使用 React.js 库发送电子邮件时收到相同的错误。

下面是错误的屏幕截图。

添加服务时图像显示错误

scopes reactjs

7
推荐指数
2
解决办法
2万
查看次数

创建一个jQuery插件,我该如何做自定义范围?

我想创建一个带有这样的API的jQuery插件:

$("#chart").pluginName().attr("my_attr");
Run Code Online (Sandbox Code Playgroud)

而不是这些:

$("#chart").pluginName_attr("my_attr");
$.pluginName.attr("#chart", "my_attr");
Run Code Online (Sandbox Code Playgroud)

基本上,而不必每个命名空间,作用类似于那些在jQuery的方法,我想"范围"的方法,以自定义的API,其中$("#chart).pluginName()会返回一个对象,使得get,attr,find,和其他几个人将被彻底改写.

我确信这不是一个很受欢迎的想法,因为它打破了惯例(是吗?),但它比上面的两个选项更容易,更易读,也可能更优化.你的想法是什么?

api jquery plugins scopes

6
推荐指数
1
解决办法
498
查看次数

如何根据请求的范围自定义 KeyCloak 身份验证流程

我正在尝试配置 KeyCloak 浏览器流程以允许请求scope1使用用户/密码表单的用户以及请求scope2使用用户/密码表单和 OTP 的用户。我的问题分为两部分:

  1. 我是否没有正确理解某些内容 - 我很惊讶我必须自己编写此代码,并且它尚未在 Keycloak 中提供
  2. 这种描述的方法有效吗?

我不想以用户为条件,而是以所请求的范围为条件。据我所知,为了完成这项工作,我需要实现一个自定义ConditionalAuthenticator,然后大致像这样配置,Condition - User Configured用我自己的实现替换。

每个范围的配置示例

authentication oauth scopes keycloak

5
推荐指数
0
解决办法
2866
查看次数