问题标签 [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.

0 投票
1 回答
706 浏览

ruby-on-rails - 试图在 Rails 关注中获取封闭类的名称

第一次使用关注点,只是在寻找一些建议。

我有一个名为 location.rb 的 Rails 模型,希望包含一个 AlbumDefineConcern,然后查询我们当前所在的模型类(在此类 Location 中)。

我有:

我如何将“位置”作为班级名称?

0 投票
1 回答
348 浏览

ruby-on-rails - ClassMethods in Controller Concern returning NoMethodError

I have created a concern in controllers/concerns called reports.rb

In it I created the ClassMethods module.. It looks like this

I included this concern in my Merchants controller like this:

And then tried to call the report_details method in an action on the Merchants controller like so:

According to this post Rich on Rails I should be able to call:

But I get a NoMethodError when I try.. I also tried:

And got the same NoMethodError

What did I do wrong?

0 投票
1 回答
1028 浏览

ruby-on-rails - Rails:关注 before_filter 类型的方法

我刚刚开始接触 Rails 中的关注点,并尝试为 ActiveRecord 类实现简单的日志记录。在那里我想定义应该进入日志并在保存后自动写入日志的字段。

我所拥有的是:

不幸的是,对 set_log_field 的调用没有效果——或者更确切地说,给定的值没有进入 print_log。我究竟做错了什么?

谢谢你的帮助!

0 投票
2 回答
2712 浏览

ruby-on-rails - 动态定义相关的类和实例方法

我有一个担忧:

如您所见,它定义了一堆范围、类方法和实例方法。但我对重复Role.find_each do |role| ... end.

我怎样才能消除这种重复?我试过这个

included但由于有多个块,它不起作用。我可以提取Role.find_each方法,但也好不到哪里去。

如何改进此代码并消除重复?

0 投票
0 回答
194 浏览

ruby-on-rails-4 - Rails 4 - public_send(key, value) 引发 NoMethodError 异常:未定义的方法`

我有一个角色类定义为:

可过滤模型关注的是:

结果 = self.where(nil) 行,返回所有角色

但是 results.public_send(key, value) 行会引发错误:

如果我检查:

感谢您的反馈

0 投票
0 回答
319 浏览

ruby - 如何将 ActiveSupport::Concern 应用于我的控制器中的特定操作?

我正在使用 Grape 构建 API。

我用名称创建了一个ActiveSupport::Concern假设,Authentication并在过滤器之前应用了一些,所以我的担忧如下:

现在假设在我的 UserController 中,我只想将此关注点应用于特定操作。我怎样才能做到这一点?

任何简单的方法来指定特定方法的关注点,就像在带有选项before_filter的 rails 中一样?only

0 投票
0 回答
588 浏览

ruby-on-rails-4 - NameError:未定义的局部变量或方法#

我正在尝试清理以字符串形式出现的属性。我已经设置了一个模块,其中包含模型将调用的多种方法validate

班级:

模块:

当在extract内部调用sanitize_attributes时会发生以下错误:

[Rollbar] 未报告异常,因为 Rollbar 已禁用

NoMethodError(未定义的方法extract' for #<Preset:0x007f7dce91ba60>): app/models/concerns/shared/attribute_sanitizer.rb:8:insanitize_data_attributes' app/models/preset.rb:27:in attribute_sanitization' app/controllers/presets_controller.rb:25:inblock in update' app/controllers/presets_controller.rb:24:in `update'

extract不是私有方法,但这是否会引发错误,因为它认为它是类方法?这应该是一个实例方法吗?注意:不止一个类需要使用它。


您可以使用corrwith

在 DataFrame 上实现了一个相关的方法 corrwith 来计算包含在不同 DataFrame 对象中的类似标签 Series 之间的相关性。

0 投票
1 回答
949 浏览

ruby-on-rails - 使用 Active Concern 添加实例方法和常规 ruby​​ 模块之间的区别?

添加积极关注的实例方法和通过模块上的普通 ruby​​ def 关键字有什么区别?

0 投票
2 回答
957 浏览

ruby-on-rails - 在具有命名空间模型的 Rails 3 中使用关注点时,类方法仅包含一次

我有一个如下所示的文件夹结构:

我在 Rails 3 中,所以我已经自动加载了我的担忧:

文件如下:

quxable.rb

bar.rb

baz.rb

现在在控制台中,如果这样做,我会得到以下输出:

所以它似乎只正确地包含在第一次访问的模型中。然而,如果我运行以下命令:

我明白了["Foo::Bar", "Foo::Baz"]

知道这里发生了什么吗?我猜想自动加载/急切加载,但我不确定为什么两个模型都没有获得新的类方法。

PS - 我尝试过重写模块而不使用ActiveSupport::Concern(只是因为我使用的是旧的 Rails 版本并且我在黑暗中拍摄)使用:

但我仍然有同样的问题。

编辑

我最初忽略了这一点(只是试图提出最简单的问题),所以我向那些想早点提供帮助的人道歉。但quxable.rb实际上看起来像这样:

所以我猜我创建了某种循环依赖项,用 Class 对象定义了一个常量。任何人都可以确认吗?奇怪的是,它只是通过没有在第二个访问的类上定义类方法而静默失败。我不知道这是为什么?

0 投票
3 回答
13421 浏览

ruby-on-rails - 在 Rails 中使用关注点和模块有什么区别?

刚才我开始在 Rails 中使用 Concerns,但我怀疑我们为什么要关注,因为我们可以在模块和混合概念上实现相同的目标。所以请任何人告诉我们shat是使用关注点而不是使用模块。