我正在开发一个简单的预订应用程序。这是我的路线
reservations#new
当我尝试进行预订时,操作reservations_path
会将我带到new
。当然我收到错误,因为这条路径不存在。我希望行动listing_reservations_path
转而转到resources :reservations
。我正在跳跃它将自动完成,因为SELECT Toy_name,
Sum(H.Quantity) total_quantity
FROM Toy T
INNER JOIN `Hire Transaction` H
ON H.Toy_id = t.Toy_id
INNER JOIN Store S
ON S.Store_ID = T.store_id
WHERE upper(S.store_suburb) = 'SCARSDALE'
AND H.hire_date BETWEEN '2013-02-01' AND '2015-03-31'
GROUP BY T.Toy_id
ORDER BY T.Hire_price DESC
LIMIT 1
在嵌套资源中。我读了很多关于路线的事情并尝试过很多东西,但找不到任何有效的方法。有可能吗?
答案 0 :(得分:1)
你似乎对nature of routes不清楚。动作reservations#new
独立于任何路线而存在。路由只是将URL路径映射到控制器和操作的一种方法。如果您尝试执行以下操作:
redirect_to controller: :resources, action: :new
您将遇到麻烦,因为您的所有路线都需要一些上下文。相反,您需要提供与上下文一起使用的URL帮助程序:
redirect_to listing_reservations_path(@listing)
link_to "New Reservation", new_listing_reservation_path(@listing)
link_to "Reservation", [@listing, @reservation]