【问题标题】:URL link gives dot instead of slashURL 链接给出点而不是斜线
【发布时间】:2014-09-01 00:37:25
【问题描述】:

在我的 route.rb 我有这个

Rails.application.routes.draw do
  resources :cars do
    resource :payments
  end
end

但是,在我的销毁链接中进行付款。生成的 URL 是

http://localhost:3000/cars/9/payments.11

下面是我的代码。

<% @car.payments.each do |p| %>
<tr>
    <td><%= p.date %></td>
    <td><%= p.profit %></td>
    <td><%= p.remark %></td>
    <td><%= link_to 'Delete', car_payments_path(@car, @p) ,
           method: :delete,
           data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>

请指教。提前谢谢你。

【问题讨论】:

    标签: ruby-on-rails model


    【解决方案1】:

    看起来这是一个复数错误。 试试

    cars_payment_path
    

    而不是

    car_payments_path
    

    【讨论】:

    • 我试过了,但是它返回未定义的方法`car_payment_path'
    • 我尝试了两个未定义的方法`cars_payment_path'
    • 还需要将 resource :payments 更改为 resources :payments 以便您可以通过 ID 显示付款。
    【解决方案2】:

    要删除汽车中的支付,路由应该是成员路由,这样调用:

    car_payment_path(@car, @p)
    

    car_payments_path(..) 是一个收款途径。

    建议你在控制台这样测试:

    app.car_payment_path(Car.first, Car.first.payments.first)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-01
      • 2011-11-25
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多