RoutingError:没有路由匹配

时间:2017-03-09 07:11:20

标签: ruby-on-rails

我已经定义了路线 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"):

问题是什么,我该如何解决?

2 个答案:

答案 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}`)