urlのget parameterを上書きする方法
Ruby on railsで簡単なリストページを作成しています。
ページングのためにURLでoffsetとlimitというget parameterを渡しています。
そのパラメータをコントローラで空白、文字列等の場合はデフォルト値で「0」を入れていますが、
URLはそのままになっていて少し不自然な気がします。
例えば、0.0.0.0:3000/admin/historeis?offset='a'&limit=20のような場合、
コントローラーではoffsetに「0」を入れて、idが「0」のデータから取り出すようにする。
でも、URLは上記のママ。なのでURLを
0.0.0.0:3000/admin/historeis?offset=0&limit=20
上記のように上書きしたいです。
次は自分のコントローラーのコードです。
def index
@offset = offset
@limit = limit
@histories = history.limit(@limit).offset(@offset))
end
def offset
return 0 if params[:offset].nil?
return 0 unless params[:offset] =~ /^[0-9]*$/
end
def limit
return 10 if params[:limit].nil?
return 10 unless params[:limit] =~ /^[0-9]*$/
end