2010-07-20 2 views
0

Я пытаюсь выполнить эту задачу: Link, который выполняет задачу и переходит в другую точку зрения

    -Нажмите на изображении
    -perform задачу в текущем представлении/контроллера (то есть не в/дома)
    до концевого на другой странице (посмотреть, в этом случае/домой)
Я посмотрел документ, и мне непонятно, как это сделать. Я хотел бы сделать что-то вроде следующего (хотя я знаю, что это не будет работать):

link_to image_tag("button.gif"), "/home", 
     :action => 'delete_something' , 
     :confirm => 'Are you sure?', 
     :method => :delete 

Спасибо за любую помощь.

ответ

1

Ну, просто измените рендер в своем контроллере. Итак, после удаления делаете только a

redirect_to "/home" 
+0

Спасибо. Это делает трюк. Знаешь, я сделал это изначально, и это не сработало, так что я бродил по указанному выше пути. Теперь я задаюсь вопросом, в чем я ошибся в первый раз. И, глядя на вышеизложенное, я задаюсь вопросом, нужен ли мне «: method =>: delete», я собираюсь проверить и узнать ... – rtfminc

+0

Это будет зависеть от того, как вы построили свой контроллер. Например, стандартный ориентированный на ресурсы контроллер может удалить объект, если вы использовали метод delete и url/object/whatever_the_id_is. Но если вы создали свой контроллер, это зависит от того, как вы настроили файл маршрутов. – jasonpgignac

0

Это вы, что ищете?

# some_controller.rb 

def delete_image 
    find_and_delete_image 
    redirect_to :action => :home 
end 

def home 
    show_stuff 
end 

Вам придется пройти какую-то информацию вместе с вашим изображением, чтобы identiy это, вероятно, через URL Params или POST Params, но я действительно не хочу, чтобы попасть в это.

Я бы порекомендовал поиск маршрутов RESTful, как и тех, которые были сгенерированы строительными лесами, он чище и создает для вас много маршрутов.

Смежные вопросы