Tôi đã ghi đè to_param
phương pháp trong mô hình Category
tôiĐịnh tuyến trong Rails. Chấm trong URL
def to_param
name
end
Và routes.rb
get '/:id' => 'categories#show', :as => :category
Khi name
tham số không chứa bất kỳ dấu chấm (foobar
), tất cả các công trình đúng, nhưng khi nó không (f.o.o.b.a.r
) Tôi gặp lỗi No route matches [GET]
. Vì vậy, câu hỏi của tôi là: là nó có thể sử dụng dấu chấm trong định tuyến như một phần của tên tham số? Hoặc những gì tôi có thể làm để hoàn thành mục đích này, có lẽ một số móc hoặc một cái gì đó. Bất kỳ trợ giúp được đánh giá cao.
Regexp đó sẽ chỉ khớp với một từ có chính xác một dấu chấm sau nó. Bạn cần sử dụng '/ [\ w \.] + /'. –
Dylan: Cảm ơn, tôi đã cập nhật điều này. –
Tôi không thấy đây là giải pháp. Nó phá vỡ nếu không có các ký tự không phải từ trong URL, có khả năng có ít nhất một '%' và bạn phải ít nhất có 1 dấu chấm. Nó giống như chữa đau đầu bằng cách chặt đầu. Đây là giải pháp đúng: http://stackoverflow.com/questions/5369654/why-do-routes-with-a-dot-in-a-parameter-fail-to-match – believesInSanta