私はルビーを学んで何かをしています。私はどのように私はただのparam ID変換関連のエラーではなく任意のモデル関連のエラーをキャッチするようにコントローラを更新しないレスキューでのパラメータ変換エラーをキャッチする方法
def city
params.require(:id)
begin
@data = @user.city_details(Integer(params[:id]),
params[:city_name]
rescue ArgumentError => e
render_error(:bad_request, e.message)
end
end
model.rb
def city_details(id, city_name = 'philly')
StoredProcedure::User::GetCityDetails.exec!(
id,
city_name
)
end
end
をcontroller.rbしていますか?
id = begin
Integer(params[:id])
rescue ArgumentError => e
render_error(:bad_request, e.message)
end
@data = @user.city_details(id)
ます。また、コントローラだけ
class MyController
rescue_from ArgumentError do
// code here
end
def mymethod
id = Integer(params[:id])
end
end