问题标签 [activesupport-concern]
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 - 为什么我关注的方法不能从控制台运行?
我创建了一个关注点来添加一个enum
和class_methods
但是,当我尝试在 中执行这些方法中的任何一个时Order
,它们都不起作用。
ruby-on-rails - 在关注轨道内使用序列化程序
我正在使用序列化程序来格式化我的 rails-api 投影仪的 json 响应。我正在使用关注来格式化最终回复。我的代码片段如下
entry_controller.rb
关注/response.rb
application_serializer.rb
entry_serializer.rb
在entry#index中,如果我使用json_response(@entries)我对请求的最终响应没有格式化,并且每个条目都与数据库中的一样。相反,如果我使用render json: @entries
. 我按照序列化程序获得。我想将关注方法json_response(@entries)
与序列化程序一起使用。有人可以建议一种在关注方法中以通用方式使用序列化程序的方法,因为多个控制器使用相同的关注方法。提前致谢。
ruby-on-rails - Rails ActiveSupport::关注和方法评估
我有这个使用带current_user
助手的设计的应用程序。当我创建一个模块时,即使它从未发生过,在我提到它的归属之后也会变成current_user
。nil
和ModuleTest:
输出:
但是,如果我删除/注释掉这一行# current_user = nil if false
,current_user
仍然有效:
这会与惰性评估有关吗?
编辑
整个问题依赖于 Ruby 在未评估语句时如何定义变量:
这在下面是如何工作的?
ruby-on-rails - 如何从活动作业中访问模型/关注点的私有方法?
可能吗?我尝试从包含关注点的 foo_model 调用它,但我不断收到NoMethodError: private method 'foo_def' called foo_model。
任何帮助将不胜感激。
问与答:为什么我没有在工作中引起关注?我需要使用模型/关注点中的 5-6 种方法。如果我在两个不同的问题上有相同的代码,那将违反 DRY 原则。
ruby - 在“主机”类完全加载后执行关注代码
背景
我有一个 ActiveRecord 问题,它执行以下操作:
当我运行这个(嗯,类似的东西)时,我会得到“hello”异常,因为在 的时候include Xyz
,自定义表名还没有设置,所以 - 在这个时间点 - table_exists?
是正确的false
。
如果我切换线路,一切正常(即,没有例外):
问题
现在的行为(两种情况)完全正常且符合预期,但对调用者来说有点不舒服。
有没有办法修改模块定义,以便我的代码(在这个人为的例子中,raise
)被延迟,直到“主机”类完全加载?
ruby-on-rails - ruby-association 中的 Dynaimc class_name
问题
有一些模型应该作为模板复制。
例如:有一个新闻条目,我想将它复制到几个组。
所以复制的元素应该与模板有关联。并且模板应该与它的元素有关联。
当前状态
因为有几个模型具有与可复制元素相同的方法,所以我提出了一个问题。我尝试使用动态关联名称链接到自身的类,但是当我创建一个元素时,出现了 Missmatch 错误。
关注中的协会
是否有动态解决方案,或者我应该将其从关注点中删除并将其复制到所有模型?
ruby - 在模块前面加上 ActiveSupport::Concern ?红宝石 2+
现在如果我将我的模块转换为关注模块,它不是......
那么我们如何使用 prepend 和 ActiveSupport::Concern 呢?红宝石 2+
ruby-on-rails - Rails:关注不加载 has_one 孩子
如果我有这样的父类:
这种担忧看起来是这样的:
那个类看起来像这样:
鉴于这两种情况,为什么他们找不到彼此?
ruby-on-rails - 为什么 Rails 低级问题会导致模块丢失其常量?
我在 Rails 4.2 中有一个可订购的关注点,它有一个恒定的“完成”。app/models/concerns/orderable.rb
:
在 Rails 控制台中,我可以运行Orderable.constants
,它返回[:COMPLETE]
。但是,如果我将 Orderable 关注点更改为Rails有关模块中描述的“low-cruft”样式,如下所示:
然后Orderable.constants
在 Rails 控制台中运行返回[]
. Rails 文档说“定义关注点的简单快捷方式……是等价的”。为什么这个单一的改变会导致无法访问模块的常量?我需要以某种方式重新定义它们吗?