ruby on rails -路径帮助器用点代替斜杠生成路径



在我的路由。我有以下内容:

resources :message_threads

当我打电话时:

message_threads_path(1)

:

/message_threads.1

为什么会这样?我的其他资源都很好。我把它复数化的不对吗?

是的,这是一个复数错误。

通过传递ID 1,我假设您希望显示单个记录。

所以你需要使用单数的'message_thread':

message_thread_path(1)

这将产生:

http://localhost:3000/message_threads/1

有时候,当你没有在路由中提供:as参数时,也会出现这种情况:

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

更改为:

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

(忽略奇怪的例子,只是碰巧是我们在构建内部应用程序时遇到的)

其他降落在这里的人可能会遇到这种情况:

如果您在routes.rb中声明了单个资源:

resource :map

你不需要传递一个对象给map_path。尝试调用map_path(map)将导致类似的行为(即URL像map.12)。

相关内容

  • 没有找到相关文章

最新更新