开发者

Path helpers generate paths with dots instead of slashes

开发者 https://www.devze.com 2023-02-26 09:01 出处:网络
In my routes.rb I have the following: resources :message_threads Wh开发者_如何学Pythonen I call: message_threads_path(1)

In my routes.rb I have the following:

resources :message_threads

Wh开发者_如何学Pythonen I call:

message_threads_path(1)

I get:

/message_threads.1

Why is this? My other resources work fine. Am I not pluralizing this correctly or something?


Yes, this is a pluralization error.

By passing the ID 1, I assume that you wish to display a single record.

So you need to use the singular 'message_thread':

message_thread_path(1)

Which will yield:

http://localhost:3000/message_threads/1


Sometimes this also is when you don't provide an :as parameter in your route:

delete "delete/:id" => "home#delete"

Changed to:

delete "delete/:id" => "home#delete", as: :delete

(ignore the odd example, just happened to be something we just ran into for an internal app we're building)


Other folks that land here might be in this situation:

If you have a singular resource declared in your routes.rb:

resource :map

You don't need to pass an object to map_path. Attempting to call map_path(map) will result in similar behavior (i.e. a URL like map.12).

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号