我已经定义了路线
routes.rb中的get '/finish_cur_activity/:act_id' => 'activities#finish_cur_activity', as: :finish_cur_activity
我试图像$.get('/finish_cur_activity/', {act_id: currentActivityId})
一样使用它,但没有任何反应,我在控制台上收到以下错误:
Started GET "/finish_cur_activity/?act_id=3" for ::1 at 2017-03-08 23:03:09 -0800 ActionController::RoutingError (No route matches [GET] "/finish_cur_activity"):
问题是什么,我该如何解决?
答案 0 :(得分:1)
您需要传递id
$.get('/finish_cur_activity/' + currentActivityId)
在您的代码中,您将id
作为额外参数传递,这就是为什么使用?
添加参数的原因
"/finish_cur_activity/?act_id=3"
此网址应该关注
"/finish_cur_activity/3"
在控制器ID 3
中,系统会自动将其视为act_id
params[:act_id]
答案 1 :(得分:0)
试试
$.get('/finish_cur_activity/' + currentActivityId)
它应该生成正确的URL,它会正常工作!
如果您使用ES6,可以使用
$.get(`/finish_cur_activity/${currentActivityId}`)