如何在删除方法Rails中调用某个路径

时间:2014-12-01 18:25:29

标签: ruby-on-rails activerecord

通常当我使用删除链接时,它看起来像这样

<% @variable_name.each do |block| %>
  <%= link_to 'Destroy', block, method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>

对于当前项目,我无法使用“阻止”路径进行删除。我现在需要调用与块相关但未在其中定义的路径。我在想这样的事情

<% @variable_name.each do |block| %>
  <%= link_to 'Destroy', someother_path, method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>

是否可以链接到网址而不是使用帮助方法?如果是这样,我怎么能找到那个网址。

2 个答案:

答案 0 :(得分:1)

是的,只要您在routes.rb中定义路由

,就可以使用任何其他网址 您的routes.rb文件中的

resources :variables do
  delete :someother, on: :member
end

然后你可以检查路线。 要检查网址,请在终端中运行以下命令行。

rake routes

rake routes | grep variable

你可以做到

<% @variable_name.each do |block| %>
  <%= link_to 'Destroy', someother_variable_path(Variable.find_by_name(block)), method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>

答案 1 :(得分:0)

您可以将参数传递给路径助手:

someother_path(first_argument: 'whatever')

此外,如果您想要链接的完整路径(包括域名主机+端口),请使用:

someother_url(first_argument: 'whatever')

最后一个选项是将路径写为字符串,例如:

link_to 'Destroy', "/posts/#{post.id}/destroy" # etc.

但不应使用最后一个选项,因为维护起来很复杂。