2012-03-05 4 views
5

Я получаю это сообщение об ошибке, когда бот-бот пытается посетить один из моих контроллеров.ActionView :: MissingTemplate: Отсутствует шаблон

ActionView::MissingTemplate: Missing template channels/show, application/show with {:locale=>[:"sv-SE", :en], :formats=>["*/*;q=0.9"], :handlers=>[:erb, :builder, :haml]}. Searched in: * "/opt/www/app/releases/20120228181534/app/views" * "/opt/www/app/shared/bundle/ruby/1.9.1/gems/kaminari-0.13.0/app/views" 

Проблема в том, что я не могу воспроизвести ее. Ошибка произошла 121 раз за последнюю неделю (согласно airbrake).

Here is backtrace.

Строка 18, которая является единственной строкой отметить, что существует в моем приложении, является super части этого кода

def render(options = {}, extra_options = {}, &block) 
    if request.headers['X-PJAX'] or params[:no_layout] == "true" or params[:_pjax] 
    options[:layout] = false 
    end 
    super(options, extra_options, &block) 
end 

Способ управления channels#show выглядит следующим образом

def show 
    @channel = # ... 
    @today  = # ... 
    @yesterday = # ... 
    @tomorrow = # ... 
end 

Посещения URL который поднял ошибку для бота Google, не вызывает ошибки для меня.

Единственные неточные URL-адреса, которые содержат специальные символы, такие как {"action"=>"show", "id"=>"25-jönköping", "controller"=>"channels"}. Значение ORIGINAL_FULLPATH установлено на /channels/25-j%c3%b6nk%c3%b6ping.

Я пользуюсь рельсами 3.2.1.

+0

Какой URL-адрес он попадает? Попытайтесь перейти к этому URL самостоятельно в процессе разработки. Кроме того, проверьте HTTP-реферер, чтобы увидеть, на какой странице он идет. – nicholaides

+0

@nicholaides Я уже пытался посетить соответствующий URL, который работает. – Oleander

+0

Какой URL-адрес для этого приложения? –

ответ

2

Я также видел эту ошибку в приложении Rails 3 и был в той же лодке о повторной ошибке. Журнал имеет ошибку Missing Template, но когда я вручную пробую запрос, он работает нормально.

Я подозреваю, что HTTP-запрос от Google не устанавливает mime, который Rails обрабатывает правильно. Сырое решение, которое я нашел, чтобы удалить вид шаблон пантомимы, так

example/index.html.erb 

теперь

example/index.erb 

Это останавливает отсутствующий ошибка шаблона, так как шаблон будет использоваться для всех мимов.

+0

Ты спас меня! –