Rails 3 - ссылка для удаления элемента - PullRequest
1 голос
/ 11 июня 2011

У меня есть список изображений, и для каждого изображения у меня есть ссылка для удаления. Эта ссылка выглядит так:

<%= link_to 'delete image', {:controller => 'shops', :action => 'delimg', :imgid => u.id}, :confirm => 'Really?' %>

def logo помещает параметры [: imgid] ... конец

И я получаю сообщение об ошибке Не удалось найти Магазин с идентификатором = logo и app / controllers / shops_controller.rb: 17: в `show ' - я пытался добавить помещает 'IN SHOW , и действительно выглядит, что после нажатия на эту ссылку вызывается метод show . Понятия не имею, как это возможно ...

Может кто-нибудь помочь мне, пожалуйста, в чем проблема?

Ответы [ 2 ]

1 голос
/ 11 июня 2011

Это, наверное, как я бы это сделал:

#routes.rb
resources :shops do
  delete :delimg, :on => :member
end

При добавлении этого будет определенный маршрут к действию delimg, сопоставленному с методом delete. И это позволяет сделать следующее в представлении:

<%= link_to 'delete image', delimg_shop_path(u.id), :method => :delete %>

delimg_shop_path - это помощник пути, который существует из-за того, что было добавлено в routs.rb

0 голосов
/ 11 июня 2011

вы отображаете params [: ingid] в методе logo, но в ссылке на действие вы указали delimg ??Модифицируйте вашу ссылку как

<%= link_to 'delete image', {:controller => 'shops', :action => 'logo', :imgid => u.id}, :confirm => 'Really?' %>

, тогда она будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...