ruby on rails没有路由引起的方法错误

时间:2014-10-02 19:42:35

标签: ruby-on-rails ruby ruby-on-rails-4

尝试显示销毁链接时,我收到了no method错误。

这是我观看的代码

   <% @followed_locations.each do |followed_location| %>
      <tr>
        <td><%= followed_location.user_id %></td>
        <td><%= followed_location.location_id %></td>
        <td><%= link_to 'Show', api_v1_followed_location_path(followed_location) %></td>
        <td><%= link_to 'Edit', edit_api_v1_followed_location_path(followed_location) %></td>
        <td><%= link_to 'Destroy', followed_location, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>

这是我的路线代码

namespace :api do
  namespace :v1 do
    resources :followed_locations do
      collection do
        post "by_user_id"
        post "by_location_id"
      end
    end
  end
end

我猜测它与我的路线中的命名空间有关,但我不确定如何修复它,我似乎无法在网上找到任何关于此的信息。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

因为如果你有名称空间api和v1,你也需要包含在路径中。 所以应该是这样的:

<%= link_to 'Destroy', api_v1_followed_location, method: :delete, data: { confirm: 'Are you sure?' } %>

编辑:代码未显示,现在已修复

答案 1 :(得分:1)

试试这个:

<%= link_to "Destory", api_v1_followed_location_path(followed_location), method: :delete, data: { confirm: 'Are you sure?' } %>