问题标签 [scopes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - rails 3.0中的多个范围
我是 Rails 的初学者,我的范围有问题。
我的班级有 2 个范围:
结尾
在我的控制器中,我想同时使用这两个范围。我做了:
但我不工作,我有这个错误:
这是因为第一个作用域返回一个数组。
我该怎么做才能让它发挥作用?
谢谢 !
ruby-on-rails-3 - Rails 多租户、范围、类变量和线程安全
简洁版本
在控制器操作期间,类变量是线程安全的吗?
长版
我正在编写一个 Rails 3 应用程序,该应用程序使用单个数据库模式实现多租户tenant_id
,每个表中都有列来识别数据属于谁。
自然,我需要一种方法来确定在数据库上运行的所有查询的范围,以确保对每个租户的数据访问正确隔离。
一些人建议通过始终通过tenant
实例访问数据库来实现这一点,例如:
等等
但是,由于多租户是一个架构问题(而不是业务领域问题),我希望通过在全局范围内设置它来尽可能保持模型对模型透明。它也很干燥。
我发现我可以使用多租户 gem和 around_filters 来做到这一点:
这会操纵default_scope
适当的模型,以便所有数据访问都自动限定在当前租户范围内。
这在开发中效果很好,但我担心线程安全。Multitenant.with_tenant
将引用保留current_tenant
在类变量中。
问题是当控制器操作在堆栈上时,我可以依赖该变量的完整性吗?或者它会被另一个请求破坏吗?
另外,关于 Rails 中一般并发问题的好资料是什么?
ruby-on-rails - 在 Rails 中添加模型范围的文档
我不确定这是否真的可行,但我试图通过在我们的app/models
文件中添加范围的文档来使我们的 rails 应用程序的文档更加完整。我正在尝试做的是:
然后,当我在应用程序上运行 rdoc 时,我希望看到newest_records
列为公共类方法以及更传统的方法,这些方法将被记录如下:
编辑
我意识到这个问题可能有点模棱两可。所以这里尝试澄清一下:目前,当我尝试在scope
声明上方添加注释行时,我没有得到 RDoc 为范围生成的文档。我知道 RDoc 可以获取元方法/属性,否则它不会在用 . 声明的文档中显示属性attr_accessor
。所以我的问题是如何向我的文件添加评论,以便:
- 该方法出现在我的 RDoc 生成的文档中
- 它显示为公共类方法(与公共实例方法等相反)
struts2 - Struts2 和多个活动向导/工作流
我目前正在开发一个集成向导/工作流的 Struts2 应用程序,以产生所需的结果。为了更清楚,有一个业务对象在三个不同的页面上发生了变化(主要是通过 AJAX 调用)。目前,我正在使用 ModelDriven 操作(通过使用同一业务对象的所有操作进行扩展)以及 Scope 拦截器。虽然如果用户一次只处理一个业务对象的数据,这可以正常工作,但如果用户在多个选项卡中打开不同对象的向导(当我们想要更快地完成事情时,我们都会这样做)一切都会变得混乱,主要是因为我在会话中只存储了一个业务对象。
我已经阅读了几篇关于使用对话作用域拦截器(主要文章)和关于使用作用域插件(这里)的文章。但是,这两种方法似乎都有问题:
- 对话范围拦截器不会自动使对话过期,也不会与 Struts2 正确集成;
- Scope 插件缺乏适当的文档,最后一次构建是在 2007 年(实际上包括 Mark Menard 在定义他的 Conversation Scope Interceptor 时编写的一些想法,尽管它不使用相同的代码)。
Spring 的 WebFlow 插件目前似乎有点过于复杂,无法使用。我目前正在寻找可以在几个小时内实施的东西,但我不介意你是否可以根据需要提出一些可行的建议,即使它需要的时间比我现在想要花的时间多.
那么,经验丰富的 Struts2 开发人员,您有什么建议?我应该如何实现这个?
ruby-on-rails-3 - 如何使用 Arel(大概)创建一个不影响 Rails 3 中的查询的 ActiveRecord 范围?
本质上,我正在寻找一种适用于范围链的无操作类型的关系。
假设我有一个范围链:
现在,出于调试目的,我希望让published
作用域不做任何事情,这样链就只会返回approved
帖子,不管它们是否published
存在。
我将在以下方法中返回什么:
ruby-on-rails-3 - 如何为 Rails 协会编写规范?
他们说完美的测试只包括测试框架和被测试的类;其他一切都应该被嘲笑。那么,联想呢?
我指的不是简单has_many
的belongs_to
关联,而是关联扩展和范围。我真的很想为范围编写规范,但我不知道该怎么做。
ruby-on-rails-3 - 为什么在 Rails 3.1 上不再使用带有作用域的合并方法?
我偶然发现了一篇关于 Rails 3+ 范围的精彩文章:http ://edgerails.info/articles/what-s-new-in-edge-rails/2010/02/23/the-skinny-on-scopes-以前-命名范围/index.html
您可以在此处(在“Crazy Town”部分中)阅读到可以合并来自不同模型的范围,如下所示:
它可以按预期工作,并允许您执行以下操作:
我在我的 Rails 3.1 项目中尝试了这种方法,显然它不再起作用了。
所以我克隆了这篇文章的 Rails 3.0.0-beta1 项目,我亲眼看到这些人没有撒谎,事情正在按照他们所说的方式进行。
然后我 3.1'ed 了,现在我得到了:
==> 不再起作用了。
这让我很伤心,因为范围合并很棒,现在我不能像我想要的那样干。
你知道吗 :
- 两个版本之间发生了什么?
- 还有其他方法可以做到这一点吗?
java - 将 GET 请求参数放入 @ViewScoped bean
我有一个(请求范围的)列表,用户可以从中选择“PQ”(链接列表)。当单击或以其他方式进入浏览器时,应显示每个 PQ 的主页。每个 PQ 的页面的格式为
http://localhost:8080/projectname/main.jsf?id=2
首先是 PQ bean:
这是main.xhtml:
每当我选择或以其他方式刷新页面/URL 时,我都会NullPointerException
从EntityManager
:
[第 47 行是 em.find(...)]
线
不会让事情变得更好。我现在很绝望。
如何将 URL GET 请求参数放入@ViewScoped
bean?
注意:我敢打赌这不是一件小事。很有可能我在概念上做错了什么,所以欢迎任何关于如何改进的提示。我觉得我需要选择@ViewScoped
,因为该页面上会有更复杂的基于 AJAX 的 GUI,我真的很想通过 URL GET 参数保持访问。
谢谢
ruby-on-rails - 使用 Rails/Devise 处理具有多个范围/角色的登录和注销的最佳方法是什么?
我一直在此站点上的 Devise RDocs、Google 中搜索我的问题的答案,但没有运气。
假设我有四个 Devise 范围/角色,每个都有自己的属性、登录页面和单独的 Web 流:
- 学生们
- 教授
- 院长
- 院系
所有这些都使用 User 类并具有以下共同属性。
- ID
- 姓名
- 电子邮件
- 密码
- 角色
这是我为设置它而建立的路线示例:
然后我生成了设计范围的视图并使用了这些视图。
之后,我必须在我的应用程序控制器中添加一些代码来覆盖 Devise::RegistrationsController,它希望将所有内容路由到根路径:
我可以使用出色的助手,例如签到?它告诉我是否有任何上述范围内的用户登录。太好了!!!现在我需要current_user的类似功能。
我可以访问以下助手。
- 现在的学生
- 当前教授
- current_dean
- current_faculty
它们工作得很好,但这是我遇到问题的地方。假设我有一个共享所有这些范围的视图。现在,如果我在该视图上尝试current_student并且我以教授身份登录,它将无法正常工作。
例如:我想在每个页面上包含一个部分,以允许用户在登录后注销。这就是我为学生做的事情。工作得很好。
我想要做的是这样的事情,它将提供注销我所有范围/资源的能力,无论我是以学生、院长、教授还是教职员工身份登录的:
我的下一步是添加我自己的辅助方法来确定范围,如下所示:
如果这种方法行得通,我会这样做,但如果我决定在未来添加更多角色或通用功能,这似乎非常低效和乏味......
一定有更好的方法?这让我觉得我在错误地使用设计,或者只是在某个地方遗漏了一些东西。
php - 范围问题:在类中调用所需文件时无法访问变量
所以 file.php 包含, echo $test;
如果我要在课外打电话,例如
需要'test.php';它会得到 $test 罚款但是在类内部调用有明显的范围问题。如何让函数中所需的文件访问变量?
编辑: - - - - - - - - - - - -
我有多个变量我希望这个文件可以访问(它们都是基于页面动态的,所以添加 x 和 y 变量是不可能的,因为它们不会总是被设置)而不是将每个变量声明为全局可访问的,有没有办法要允许类中的所需文件,访问这些变量,就好像它不是一样?
谢谢你们的反馈。不幸的是,我想要的似乎不可能,但是您启发了我创建一个解决方法,该解决方法将我需要我的文件访问的最重要的变量注册为全局变量。