получение "ActionView :: MissingTemplate" при отображении простого ответа json head - PullRequest
4 голосов
/ 31 марта 2012

В одном из моих контроллеров у меня есть этот код:

respond_to do |format|
  format.html{ redirect_to :me, :flash => {:error => t('quest_histories.misc.bad_request')}} and return
  format.json{ head :method_not_allowed } and return
end

НО, когда приходит запрос json, я получаю эту ошибку:

ActionView::MissingTemplate (Missing template quest_histories/index, application/index with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder, :coffee]}. Searched in:
* "/var/www/PMAC_RoR/app/views"

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

Ответы [ 3 ]

4 голосов
/ 12 апреля 2012

Вместо «and return» удалите их и поместите return после всего блока response_to.

2 голосов
/ 31 марта 2012

Попробуйте добавить это:

render :nothing => true
0 голосов
/ 31 марта 2012
respond_to do |format|
  format.html{ redirect_to :me, :flash => {:error => t('quest_histories.misc.bad_request')}} and return
  format.json  { render :nothing => :true, :status => :no_content }
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...