我在我的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