link_to_remote хочет сделать шаблон - как нет?рельсы - PullRequest
1 голос
/ 28 июля 2010

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

На мой взгляд (_task_sth.html.erb):

<%= link_to_remote "Delete task", :url => {:controller => 'tasks', :action => 'delete_task', :task_pers_id => sorted_user_task.id}, :complete => "$('#{delete_task_domid}').hide();" %>

В моем контроллере (tasks_controller.rb)):

def delete_task
  task_pers = TaskPersonalization.find(params[:task_pers_id])
  horse_task = task_pers.task
  task_pers.destroy
  if horse_task.task_personalizations.empty?
    horse_task.destroy
  end
end

Задача удалена, но я получаю сообщение об ошибке: Отсутствует шаблон задач / delete_task.erb в пути просмотра приложения / views.

Как мне сделать так, чтобы поиск не выполнялсяшаблон?Я попытался добавить: method =>: delete в конце link_to_remote и изменить имя действия для уничтожения.Я также добавил render: nothing => true.Я также немного поиграл с маршрутами.Но все равно я всегда получаю ту же ошибку.

Вопрос в том, как заставить его не искать шаблон, потому что я не хочу, чтобы он что-либо отображал?

Был бы очень благодарен за любые ответы., Roq.

1 Ответ

4 голосов
/ 28 июля 2010

Была ли у вас такая же ошибка при добавлении render :nothing => true?Это странно.

Rails пытается найти шаблон, потому что в вашем действии нет render.Поэтому, чтобы избежать этого, вам нужно явно вызвать метод:

def delete_task
  task_pers = TaskPersonalization.find(params[:task_pers_id])
  horse_task = task_pers.task
  task_pers.destroy
  if horse_task.task_personalizations.empty?
    horse_task.destroy
  end
  render :nothing => true, :status => 200
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...