我在我的url中有以下内容。为了搜索的目的,我需要分别提取4和2。这两个整数,等为sub category id
如何从rails中的字符串中提取多个整数
params[:id].scan(/\d+$/).first
使用上述扫描我能得到4
但我怎么能得到一个以上的整数
my-url-for-test-4-2
我已经创建了一个辅助方法
def string_to_int(param,key)
param.scan(/\d+/).map(&:to_i).key
end
而我从我这样的控制器试过这样的
id = string_to_int(params[:id],'first')
但得到错误的
undefined method `key' for [4, 2]:Array
为什么它不验收规范。
您可能是指'.send(key)'(调用具有传递参数名称的方法)而不是调用方法'key()'。 – kristinalim
小心简单地扫描数字子字符串。如果你有URL段'random1-2string-3-4-5',那么将会返回'[1,2,3,4,5]“。 – kristinalim
@kristinalim我该如何克服这种复杂性 – overflow