ruby-on-rails - Rails - 使用 jbuilder 时的空白 json 文件

标签 ruby-on-rails json routes jbuilder

我正在尝试使用 jbuilder 从事件列表中创建一个 json 文件。它必须采用特定格式。目前,无论我在 jbuilder 文件中放入什么,当您转到 users/1/events.json 时,该文件都是空白的(只有 {})。

我试过在 Controller 中放置一个对块的响应,但是那只会以错误的格式返回事件列表。

我认为路由已经正确完成,因为日志文件说在请求 url/users/1/myevents.json 时文件 myevents.json.jbuilder 已成功呈现。另外,当请求 .html 时,myevents.html 文件显示正常,其中包含所有正确的信息。

我真的很难过这个,任何帮助将不胜感激!

我会列出所有相关的代码,以防有人能找到一些东西:

事件 Controller :

def myevents
    @events = current_user.events
end

myevents.json.jbuilder:
Jbuilder.encode do |json|
    json.timeline do
        json.headline current_user.first_name
        json.type "default"
        json.text "A Timeline"
        json.start_date
        json.array!(@events) do |event|
            json.start_date event.start_date
            json.end_date event.end_date
            json.headline event.headline
            json.text event.text
            json.asset do
                json.media event.media
                json.credit event.credit
                json.caption event.caption
            end
        end
    end
end

环境.rb:
Jbuilder.key_format :camelize => :lower

路线.rb:
match 'users/:id/events' => 'events#myevents'

最佳答案

原因是您需要将以下行放入 RSPEC Controller 帮助文件中:

config.render_views = true

我遇到了同样的问题:https://github.com/rails/jbuilder/issues/32

关于ruby-on-rails - Rails - 使用 jbuilder 时的空白 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12858404/

相关文章:

ruby-on-rails - 在 Rails 3 中翻译 JSON

java - 在 Map<String, Object> 上进行未经检查的转换(使用 Jackson 将 JSON 转换为 Map)

javascript - 如何获取此时此页面的活跃访客数?

node.js - 使用 Express 检查资源是否存在的最佳方法

ios - 在 iOS 中选择内置麦克风和耳机

ruby-on-rails - 给定一个 ActiveRecord 对象数组,我可以通过方法调用轻松收集它们的关系吗?

ruby-on-rails - 如何从Time.now获取时区缩写?

arrays - 使用 ObjectMapper Swift 3 将 Json 映射到嵌套数组

ruby-on-rails - 在 Rails 中使用观察者模式时传递实例变量

ruby-on-rails - Posts#index 中的 NoMethodError,未定义方法 `each' for nil :NilClass