我正在尝试使用 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/