0

私のURLには次のものがあります。検索のために、4 と 2 の両方を別々に抽出する必要があります。これら2つの整数、one is category idおよびその他はsub category id

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

受け入れられない理由。

4

4 に答える 4

2

答えはあなたの質問 params[:id].scan(/\d/)にあり、結果は配列になります。

于 2013-10-14T12:08:11.427 に答える
1

firstまたは次lastのように渡している場合key

   def string_to_int(param,key)
     param[:id].scan(/\d+/).map(&:to_i).send(key)
   end
于 2013-10-14T12:10:28.337 に答える