2010-03-01 4 views
0

Я использую form_remote_tag(:url => {:controller => "home", :action => "search"}, :update => "mydiv"). Когда я нажимаю кнопку «Отправить» на форме «mydiv» заполняется ошибкой «Шаблон отсутствует. Отсутствует шаблон home/search.erb в представлении« путь/приложение ». Я пробовал несколько опций render в def search, но все они приводят к той же ошибке.Ruby on Rails form_remote_tag отсутствует шаблон

Похоже, что метод поиска пытается использовать рендеринг по умолчанию, даже если я указываю, что хочу.

Я пробовал:
render 'index'
render :text => 'Return this from my method!'

Является ли мой URL неправильно? Не возвращает ли он обратно методу поиска моего домашнего контроллера?

+0

Не могли бы вы опубликовать источник поиска действий в домашнем контроллере, и маршрут, который определяет действия поиска? – EmFi

+0

Добавление «render: layout => false» к моему методу поиска было виновником. Я думал, что это будет необходимо, так как я просто хотел обновить часть страницы. Я также изменил свой оператор рендеринга в «поиске» на «render: partial =>« partial_containing_mydiv''. Новая проблема заключается в том, что ничего не отображается, но мой код выполняется. Я создам для этого новый вопрос. –

ответ

0

Попробуйте

render :action => 'index' 

это будет использовать "index.rhtml" или "index.html.erb".

+0

Я считаю, что его использование 'render 'index'' такое же, как' render: action =>' index'' ... Я думаю ... –

+0

Добавьте это в мой метод поиска? К сожалению, похоже, что подача вообще не ударяет по поисковому методу. –

-1

form_remote_tag нуждается в прототипе для работы. Убедитесь, что вы используете :defaults для ваших javascript-библиотек, а именно прототипа.

<%= javascript_include_tag :defaults %> 
+0

он включен в мой файл макета по умолчанию, который я установил 'render: layout => false' в методе поиска. Если оставить макет, то «mydiv» заполняется всей страницей. –

+0

Если бы это было решение, у него не было бы недостающих ошибок шаблона – EmFi

0

Я попытаюсь объяснить, почему он сказал search.erb не найден, давайте создавать действия для какой-либо модели, если есть какая-то ошибка в моем создании действий они его бросят отсутствует шаблон create.html. erb, так как у вас есть некоторая ошибка в ваших созданных рельсах действий, они попытаются отобразить на странице create.html.erb. Надеюсь, я объяснил это четко.

В действии ajax вы не можете использовать redirect_to или параметры визуализации напрямую. попытаться использовать это в поисковых действиях

render :update do |page| 
    page.replace_html "ur_div_id","partial" 
end 
Смежные вопросы