在过滤lambda之前错误的rails数量

时间:2014-10-18 13:26:34

标签: ruby-on-rails ruby lambda

我正在玩一些旧项目,试图在控制器中使用模块。

我在控制器中有一个before_action过滤器,它通过一个参数。

 include CrudConcern
  before_action lambda { index(Test.all) }, only: :index

并在模块中

  def index(model)
    var_name = "@#{model.name.downcase.pluralize}"
    self.instance_variable_set(var_name, model)
  end

但是我遇到了这个错误...不确定原因。

wrong number of arguments (0 for 1)

我传递了预期数量的参数,因此不确定为什么会发生此错误。

1 个答案:

答案 0 :(得分:1)

尝试将方法名称从索引更改为其他名称。如果您的控制器中有索引操作,它可能会尝试调用该操作而不是模块中的索引方法。