【问题标题】:included do ..... end (wrong no of arguments) error包括做.....结束(错误的参数)错误
【发布时间】:2013-10-21 21:45:16
【问题描述】:

我正在使用 RoR ActiveSupport::Concern 功能实现一个模块并将其包含在我的班级中。我在该模块中使用included do .... end 块,但在“included do”行中遇到错误“参数数量错误(0 表示1)”。

module Icecream
  extend ActiveSupport::Concerns

  included do  #throws error wrong no of arguments(0 for 1))
    has_many :flavours
    scope :icecreams, ->{where("has_icecreams = ?", true)}
  end
.
.
.
.
.
end

包含的 do 块是否甚至需要参数?

【问题讨论】:

  • 无需参数即可工作,参见api.rubyonrails.org/classes/ActiveSupport/Concern.html 的示例(第二个代码块)
  • Ya Stefan 我知道它通常可以在没有参数的情况下工作,不知道在这种情况下出了什么问题。
  • @ArvindMehra 它是 ActiveSupport::Concern 而不是 ActiveSupport::Concerns

标签: ruby-on-rails ruby


【解决方案1】:

哦....搞定了...

愚蠢的拼写错误

extend ActiveSupport::关注应该是关注

【讨论】:

  • 让我免于未来的巨大头痛。感谢您发布解决方案!
【解决方案2】:

如果您使用include ActiveSupport::Concern 而不是extend ActiveSupport::Concern,您可能会遇到同样的问题。

【讨论】:

    猜你喜欢
    • 2012-10-16
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    相关资源
    最近更新 更多