繁体   English   中英

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

[英]Rails - blank json file when using jbuilder

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

我已经尝试在控制器中对块进行响应,但之后只返回错误格式的事件列表。

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

我真的很难过这个,任何帮助都会非常感激!!

我将列出所有相关代码,以防任何人可以选择一些东西:

事件控制器:

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

environment.rb中:

Jbuilder.key_format :camelize => :lower

routes.rb中:

match 'users/:id/events' => 'events#myevents'

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

config.render_views = true

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

据我所知,你可以跳过

Jbuilder.encode

尝试没有这个块,也许一切都会好的。

弄清楚了。 出于某种原因,它不喜欢Jbuilder.encode行| json |,即使这是要使用的文档中列出的内容。 尽管如此,响应的语法仍然不正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM