2014-12-01 36 views
2

通常,當我使用的是刪除鏈接它會是這個樣子如何調用刪除方法在一定路徑的Rails

<% @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 %> 

是否有可能鏈接到一個URL而不是使用輔助方法?如果是的話,我將如何找到該網址。

回答

0

您可以將參數傳遞給路徑幫手:

someother_path(first_argument: 'whatever') 

另外,如果你想(包括域名主機+端口)鏈接的完整路徑,使用此:

someother_url(first_argument: 'whatever') 

的最後一個選項是將路徑寫爲字符串,例如:

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

但是最後一個選項不應該使用,因爲它是co保持靈活性。

2

是的,你可以,只要你在你的routes.rb文件

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

定義在routes.rb中

路線,那麼你可以查看路由使用任何其他網址。 要檢查網址,請在終端中運行以下命令行。

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 %>