Я использую Rails 3.2.3/Ruby 1.9.3p125/jbuilder (0.4.0)
В моей папке view/mycontroller
у меня есть файл show.json.jbuilder
. когда я тестирую все на своей локальной машине с помощью rails s -e production
, все работает нормально. JSON отображается в соответствии с ожиданиями.
Но когда я развертываю Ubuntu LTS (nginx/unicorn), я получаю следующее сообщение об ошибке:
ActionView::MissingTemplate (Missing template mycontroller/show, application/show with {:locale=>[:de, :en], :formats=>[:json], :handlers=>[:erb, :builder]}. Searched in:
* "/home/deployer/apps/myapp/releases/#############/app/views"
):
Когда я проверяю свой сервер, установлен ли гем jbuilder с bundle show jbuilder
, все кажется правильным.
странно, что сообщение об ошибке не показывает :handlers=>[:erb, :builder, :jbuilder]
Обработчик jbuilder явно отсутствует. Но как мне решить проблему?
Изменить: проблема не связана с Jbuilder. Попробовал рабл и появляется та же проблема.
Есть ли у кого-нибудь подсказка, как это отладить?
Дополнительная информация:
Gemfile
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'jquery-rails'
gem 'mysql2'
gem 'simple_form'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
gem 'bootstrap-sass', '2.0.2'
end
# Use unicorn as the app server
gem 'unicorn'
# Deploy with Capistrano
gem 'capistrano'
# for performance monitoring
gem 'newrelic_rpm'
# use asset pipline and flash
gem 'swf_fu', '~> 2.0'
gem 'geocoder'
# To use Jbuilder templates for JSON
gem 'jbuilder'
Контроллер
def show
end
show.json.jbuilder — файл
json.(@map, :id)