2016-04-20 4 views
0

У меня есть приложение Rails, работающее на Heroku, и у меня установлен NewRelic для отслеживания его производительности. Иногда возникает следующая ошибка: ActionController::UnknownFormat. Причиной ошибки является формат запроса (*/*). Действие он устанавливается принимать запросы только html формат:NewRelic ActionController :: UnknownFormat error

respond_to do |format| 
    format.html 
end 

Любые идеи, как я могу предотвратить получение этой ошибки?

ответ

-1

Если вы используете только HTML-код, нет необходимости в блоке respond_to. Это может показаться запутанным, но это часть мантры Rails «Конвенция о перестройке». Я должен увидеть больше контроллера, чтобы дать вам точную строку для использования, но если вы следуете правилам именования рельсов, удаление всего этого блока должно работать.

Из Rails Guides на тему

Note that we don't have explicit render at the end of the index action in accordance with "convention over configuration" principle. The rule is that if you do not explicitly render something at the end of a controller action, Rails will automatically look for the action_name.html.erb template in the controller's view path and render it

+0

Без respond_to это даст следующее сообщение об ошибке, так что это не является решением проблемы. ActionView :: MissingTemplate: отсутствует шаблон my_app/pages/index, my_app/application/index, application/index с {: locale => [: en],: formats => ["*/*;"], ... – st3fan

+0

Вы отредактируете свой вопрос и добавите полный контроллер/соответствующий каталог представлений? Когда я это увижу, я обновлю свое решение. Как я уже сказал в своем ответе, без дополнительной информации невозможно дать правильное решение, но я предполагаю, что вы не соблюдаете соглашения об именах Rails. – M00B

+0

Это статическая страница. Все, что я делаю в действиях контроллера, - это сделать это. – st3fan