2015-09-02 76 views
0

我的模型名为Reports。我有一个Ajax调用,它设置为 @reports = Report.all如何通过Ajax从Rails传递created_at

Report.all通常包含像created_at和updated_at之类的Rails字段。

现在,我想将它们显示在页面上,但由于某种原因,传递给页面的JSON数据不包含这些字段。这是一些Ruby安全设置?

我很好奇如何启用它们,并通过什么机制JSON加载具有不是模型的一部分的URL字段?

UPD。 位指示代码

#GET /reports 
#GET /reports.json 
def index 
    @reports = Report.all 
end 

当我在轨控制台打印出Report.all,它包含created_at场。当我通过0.0.0.0:3000/report.json卷曲这个控制器时,没有created_at和updated_at文件。

+0

你可以发布你在哪里试图表明'created_at'的看法? – Pavan

+0

请发布一些您正在使用的代码示例 – usmanali

+1

您好,如果我的回答不起作用,您需要从控制器 –

回答

2

默认情况下,Rails的生成器将生成的索引中的JBuilder的视图文件:

$ rails generate scaffold Report ... 

会给你:

# app/views/reports/index.json.jbuilder 
json.array!(@reports) do |report| 
    json.extract! report, :id, :some_other_attributes, ... 
    json.url report_url(report, format: :json) 
end 

extract!方法只能输出属性中明确提到其参数。如果你想在你的JSON指数输出created_atupdated_at,只需将它们添加到方法的参数列表:

json.extract! report, :id, ..., :created_at, :updated_at 
+0

This!感谢队友,你摇滚! – kaboom