gpt4 book ai didi

ruby-on-rails - 为什么 Ruby on Rails 的 URL Helper 会在我的 URL 中加一个句点?

转载 作者:数据小太阳 更新时间:2023-10-29 07:24:46 24 4
gpt4 key购买 nike

我有以下代码(RoR 4):

tbody
- @order_submissions.each do |order_submission|
tr
td = order_submission.id
td.table-actions
span = link_to "Show", order_submissions_path(order_submission.id)

td = order_submission.id 

成功显示为身份证号(533ab7337764690d6d000000)

但是……

order_submissions_path(order_submission.id) 

创建一个如下所示的 URL:

order_submissions.533ab7337764690d6d000000

我想要它

order_submissions/533ab7337764690d6d000000

那个时期是从哪里来的?

这是我的路线:

get 'order_submissions/:id'         => 'order_submissions#show'

当我运行 rake routes 时,我得到:

GET    /order_submissions/:id(.:format)        order_submissions#show

(.:format) 可能是问题所在,但我不知道为什么。我只是想让它在那里放一个斜线。

如果我将我的代码更改为此,它会修复它:

 span = link_to "Show", order_submissions_path + '/' + order_submission.id

但这是一个非常非常愚蠢的解决方法。

编辑:这是我的路线:

   get 'order_submissions'             => 'order_submissions#index'
get 'order_submissions/new' => 'order_submissions#new'
post 'order_submissions' => 'order_submissions#create'
get 'order_submissions/:id' => 'order_submissions#show'
get 'order_submissions/:id/edit' => 'order_submissions#edit'
patch 'order_submissions/:id' => 'order_submissions#update'
get 'order_submissions/:id/delete' => 'order_submissions#delete'
delete 'order_submissions/:id' => 'order_submissions#destroy'

最佳答案

order_submissions_path(复数)指向 /order_submissions。它有两个参数,第一个是请求的格式(例如 html)。您的 ID 正在为此参数传递,导致您看到的结果 URL。

您实际上需要单数路径助手 order_submission_path,它接受一个 ID 作为第一个参数。

关于ruby-on-rails - 为什么 Ruby on Rails 的 URL Helper 会在我的 URL 中加一个句点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22791545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com