Rails视图在删除链接中传递错误的参数

时间:2016-05-28 14:08:13

标签: ruby-on-rails ruby-on-rails-4 view parameters controller

以下是我的服务器日志。

我正在通过视图中的删除链接传递user_idid。通过后,user_id的值为15067id1010

当我检查使用pry方法的params时,id的值被user_id替换为15067。

enter image description here

这是一个完整的工作流程:

路线

delete "users/delete_role_sub_field" => "users#delete_role_sub_field"

控制器:

def delete_role_sub_field
  // Some code for destroy
end

查看:

  <% @user.roles.each_with_index do |role, i| %>
    <tr>
      <td>
        <a class="delete remove-description-field" href="/users/delete_role_sub_field?user_id=<%= @user.id %>&id=<%= role.id %>" data-method="delete" method="delete" data-confirm="Are you sure you want to delete Role Field?">
          Delete
        </a>
      </td>
    </tr>
  <% end %>

任何帮助都会得到满足!

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以发布link_to功能吗?你通过你的params,因为应用程序工作正常,如果你看你的路线,你会看到它的第一个参数和它的第二个。

示例:

resources :magazines do
  resources :ads
end

会产生这样的路线:

    /magazines/:magazine_id/ads/:id

Link_to将是这样的:

link_to ads.title, magazines_ads_path(magazine.id, ads.id)

并在show action中:

def action
  @ads = Magazine.find(params[:magazine_id)).ads.find(params[:id])
end