我换了个字符串,但是这样出来的示例用户名字都是一样的,有没有什么代码是可以让用户名字随机的
截图是很难想让人家帮你破案的,直接把你的 demo 上传到 github 地址发出来看一看 大概就知道什么问题了
同样的问题,发生在不同的代码,各位帮忙看看 https://github.com/Zhl1102/sample_app.git
这已经算提示很明显的报错了
期望 1 个参数,你传了 2 个
应该是第一行 provide 这个方法传参传多了
实际上大家都被表面上的错误信息误导了,的确是 ArgumentError, 但并不是截图中给出的那行触发的,而是 gem 内部的代码触发的 (我也不知为何 rails 没有打印完整的错误栈).
15 楼截图中显示是 will_paginate 这里报错,实际触发这个错误的是will_paginate 这个 gem 中的 will_paginate_translate 方法,translate 这一行抛出的错误
translate 的方法签名是translate(key, **options)
, 而 will_paginate_translate 在调用 translate 时,传入了一个 symbol 和 hash
translate(key, options.merge(:default => defaults, :scope => :will_paginate))
在 ruby2 中,这并没有错,然而楼主用的是 ruby3. 需要写成这样才能正确
translate(key, **options.merge(:default => defaults, :scope => :will_paginate))
楼主最开始描述的问题应该也是这个原因造成的,建议直接将 ruby 换成 2.7 解决。
rubymine
不过你这个问题只需要点开错误页面上的 full trace 就能看到完整的错误栈