@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
当我从旅行中发送'form'时,我得到'成功'闪光,然后它将我发送到'trip / index'路径,但我可以从'旅行/节目'中查看。我尝试了几种组合,它仍然是相同的。我的路线:
get 'trips/show', to: 'trips#show'
get 'trips/new'
get 'trips/edit'
get 'trips/delete'
get 'trips/index', to: 'trips#index'
可能是路由/操作控制器有问题还是只是我的错误?
答案 0 :(得分:0)
几点评论:
get 'trips/delete'
不应获取,但删除。< / LI>
醇>
为了方便起见,我建议您将当前routes.rb
的5行替换为可以执行此任务的单行resources :trips
可以找到所有路线提示here
if @trip.save flash[:notice] = "success" redirect_to trips_index_path else flash[:notice] = "ERROR" render trips_new_path end
:notice
。成功应为:success
,错误应为:alert
或:danger
,具体取决于您使用的框架或惯例。答案 1 :(得分:0)
尝试更改您的路线:
get 'trips' => 'trips#index'
或者更容易使用“资源”,它会自动为您提供索引,节目等的所有路线...
resources: :trips
尝试在您的浏览器中将rails / info / routes附加到您的网址,以查看此类内容
http://localhost:3000/rails/info/routes
在列表中查找您的路线,或者更容易找到您可以制作这样的自定义路线
get 'trips' => 'trips#index', as: :custom_trips_index
答案 2 :(得分:0)
问题是“旅行/索引”与“旅行/:id”匹配,因此自动跟踪我“旅行/展示”,因为旅行/ id ==旅行/显示。我手动添加它,所以我不得不删除这些不必要的路线,这没关系。感谢您的提示。