- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 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 gem 时 bundle show jbuilder
一切似乎都是正确的。
奇怪的是错误消息没有显示 :handlers=>[:erb, :builder, :jbuilder]
显然缺少 jbuilder 处理程序。但是我该如何解决这个问题呢?
编辑: 问题不是基于 Jbuilder。我尝试了 rabl 并出现了同样的问题。
有没有人有提示,如何调试?
这里有更多信息:
gem 文件
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'
Controller
def show
end
show.json.jbuilder - 文件
json.(@map, :id)
最佳答案
您的 jbuilder 似乎被跳过了。
你的 Gemfile.lock 文件里有 jbuilder 吗?
cat Gemfile.lock | grep jbuilder
如果丢失:
RAILS_ENV=production bundle update jbuilder
jbuilder可以加载吗?
RAILS_ENV=production bundle exec rails console
> require 'jbuilder'
=> false # this is false if jbuilder is pre-loaded
你能在控制台中构建吗?
> Jbuilder.encode{|j| j.foo :bar }
=> "{\"foo\":\"bar\"}"
你能构建你的 Controller Action 吗?
def the_method_you_are_testing
raise Jbuilder.encode{|j| j.foo :bar }
end
您是否在不同的服务器设置中看到相同的错误,例如 Apache 和 Passenger 而不是 Nginx 和 Unicorn,或者只是 rails server?
rails server -e production
如果将服务器应用程序从生产更改为开发,是否会得到相同的结果?
rails server -e development
对于 RABL,您可以尝试将 RABL gem last 放入您的 Gemfile 中吗?
gem 'rails'
#...
gem 'rabl'
尝试在需要生成器后立即注册?
require 'tilt'
require 'rabl'
# ...
require 'builder'
Rabl.register!
你和 RABL master 有同样的结果吗?
gem 'rabl', :git => "git://github.com/nesquena/rabl.git"
关于ruby-on-rails - Rails3 ActionView 模板处理程序在生产服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10520269/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!