我正在尝试使用jbuilder从事件列表中创建一个特定格式的json文件。但无论我在jbuilder文件中放什么,当你访问users/1/events.json时,文件都是空的(只有{})。
我尝试在控制器中添加一个respond to块,但那只会以错误的格式返回事件列表。
我认为路由已经正确设置了,因为日志文件显示当请求/users/1/myevents.json时,myevents.json.jbuilder文件已经成功渲染。此外,当请求.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'