让我们说我的模型是C. Obj - @c
C将acts_as_list gem定义为 acts_as_list范围:' ...'
和范围为: 范围:公共 - > {where(some_condition)}
为@ c.remove_from_list编写rspec时,测试失败并出现ArgumentError(1表示0)。但是,如果我将范围重命名为public以外的任何关键字,例如:
范围:publi - > {where(some_condition)}
测试通过。
PS。我没有在我的规范中传递任何论据。
使用aacts_as_list gem时是否存在将范围用作公共的约束?
答案 0 :(得分:0)
模型中没有公开的其他方法。然而,在进一步研究之后意识到gem acts_as_list插入方法名称(在本例中为remove_from_list作为公共范围方法中的参数。通过在方法定义中放置(* args)来修复此问题。
感谢@Brendon Muir提出的建议。