我在使用ransack
:运行过滤时遇到以下错误
ArgumentError wrong number of arguments (given 1, expected 0)
堆栈跟踪显示:
object.ransack(query_params)
当深入挖掘时,我发现错误出现在aasm
gem的aasm_create_scope
方法中。
query_params = {accepted: "value"}
可能出了什么问题?
问题是accepted
是aasm
提供的一个不接受参数的作用域。Ransack在值为true
时不发送参数,或者在值设置为false
时忽略作用域。
{ accepted: "true" } || { accepted: "false" }
这才有意义。任何其他值都会引发该错误。