加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为什么Ruby on Rails的URL Helper在我的URL中

发布时间:2020-12-17 03:49:01 所属栏目:百科 来源:网络整理
导读:我在视图中有以下代码(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 成功显示为ID号(533a
我在视图中有以下代码(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

成功显示为ID号(533ab7337764690d6d000000)

但…

order_submissions_path(order_submission.id)

创建一个以下列形式出现的URL:

order_submissions.533ab7337764690d6d000000

我想要它

order_submissions/533ab7337764690d6d000000

那个时期从哪里来?

这是我的路线:

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

当我运行rake路线时,我得到:

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

(.:格式)可能正在弄乱它,但我不知道为什么.我只是想让它在那里放一个斜线.

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

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,它接受一个I??D作为第一个参数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读