2013-05-25 22 views
7

Tôi đang cố gắng chỉ định các truy vấn theo cách thức giống như trong các tuyến đường có của tôi, ví dụ:Có thể chỉ định tham số truy vấn trong các tuyến đường Yesod không?

mkYesod "HelloWorld" [parseRoutes| 
/HomeR GET 
/first/?count=#Int FirstR GET 
/second/?count=#Int SecondR GET 
|] 

Nhưng điều này mang lại cho tôi những lỗi sau:

The function `FirstR' is applied to one argument, 
but its type `Route HelloYesod' has none 

Nhưng nếu tôi đẩy rằng #Int trở lại để trở thành một phần của con đường, đó là tất cả tốt. Tôi cho rằng điều này là do tuyến đường không được tạo với thông số?

Có cách nào để tôi chỉ định thông số đó trong tuyến đường của mình không?

+2

Nó không phải là REST! (và Yesod là REST): D Tại sao không đơn giản là "/ first/count/# Int"? :) – josejuan

Trả lời

10

Không, không thể thực hiện với thiết lập hiện tại, mặc dù đó là một bổ sung mà tôi đã cân nhắc thực hiện trong quá khứ. Những lý do chính mà tôi không có (1) nó có thể làm cho trường hợp bình thường trở nên khó khăn hơn, và (2) như josejuan đề cập, thường (mặc dù không phải luôn luôn) có thể chuyển đổi thành tham số dựa trên tuyến đường.

+1

Cảm ơn phản ứng, không phải là vấn đề đối với tôi để đẩy những người đó trở lại URI, tôi chỉ tò mò (và đi bộ xuống hố thỏ). – Khanzor

Các vấn đề liên quan