Ruby on rails Rails:重定向到错误路径
当我从trips/new发送“form”时,我得到了“success”flash,它将我发送到“trips/index”路径,但我从“trips/show”获得视图。我试过几种组合,结果还是一样。我的路线:Ruby on rails Rails:重定向到错误路径,ruby-on-rails,Ruby On Rails,当我从trips/new发送“form”时,我得到了“success”flash,它将我发送到“trips/index”路径,但我从“trips/show”获得视图。我试过几种组合,结果还是一样。我的路线: @trip = Trip.new(trip_par) if @trip.save redirect_to trips_index_path flash[:notice] = "success" else render trips_new_path f
@trip = Trip.new(trip_par)
if @trip.save
redirect_to trips_index_path
flash[:notice] = "success"
else
render trips_new_path
flash[:notice] = "ERROR"
end
可能是路由/动作控制器有问题,还是我的错误?几句话:
get'trips/delete'
不应该是get,而应该是deleteroutes.rb.rb的5行代码替换为一行代码来完成此任务:resources:trips
可以找到所有路由提示
尝试将flash呼叫置于重定向到
您所有的flash消息都是:注意
。成功应该是:成功
,错误应该是:警报
或:危险
,具体取决于您使用的框架或约定
几句话:
您的routes.rb看起来不正确(不能解决您的问题,但可以节省您的时间):get'trips/delete'
不应该是get,而应该是delete
为了简化操作,我建议您将当前routes.rb.rb的5行代码替换为一行代码来完成此任务:resources:trips
可以找到所有路由提示
尝试将flash呼叫置于重定向到
您所有的flash消息都是:注意
。成功应该是:成功
,错误应该是:警报
或:危险
,具体取决于您使用的框架或约定
尝试如下更改您的路线:
if @trip.save
flash[:notice] = "success"
redirect_to trips_index_path
else
flash[:notice] = "ERROR"
render trips_new_path
end
或者更容易使用“资源”,它会自动为您提供索引、显示等的所有路由
get 'trips' => 'trips#index'
尝试将rails/info/routes附加到浏览器中的url以查看类似的内容
resources: :trips
在列表中查找您的路线,或者为了更容易找到,您可以创建如下自定义路线
http://localhost:3000/rails/info/routes
尝试如下更改您的路线:
if @trip.save
flash[:notice] = "success"
redirect_to trips_index_path
else
flash[:notice] = "ERROR"
render trips_new_path
end
或者更容易使用“资源”,它会自动为您提供索引、显示等的所有路由
get 'trips' => 'trips#index'
尝试将rails/info/routes附加到浏览器中的url以查看类似的内容
resources: :trips
在列表中查找您的路线,或者为了更容易找到,您可以创建如下自定义路线
http://localhost:3000/rails/info/routes
问题是“trips/index”与“trips/:id”匹配,因此自动跟踪我到“trips/show”,因为trips/id==trips/show。我手动添加它,所以我必须删除这些不必要的路由,这是可以的。谢谢你的提示。问题在于“trips/index”与“trips/:id”匹配,因此会自动跟踪我到“trips/show”,因为trips/id==trips/show。我手动添加它,所以我必须删除这些不必要的路由,这是可以的。谢谢您的提示。要检查您是否有路由问题,请检查rake routes
的输出,并查看您是否使用了正确的路由帮助程序。将您的路由命名为->获取“trips/index”,改为“trips#index”,如::trips#index
,请在此处检查,谢谢帮助,但是仍然不起作用。您可以共享导出的rake routes
?若要检查您是否有路由问题,请检查rake routes
的输出,并查看您是否使用了正确的路由帮助程序。将您的路由命名为->获取“trips/index”,到:“trips#index”,如::trips#index
,请在此处检查,谢谢帮助,但是仍然不起作用。你能分享一下rake路由的导出吗?