Ruby on rails 如何在rails应用程序中创建JSON字符串
所以我使用的是TimelineJS(),我使用的是Rails应用程序 我需要找出如何生成一个合适的JSON字符串用于TimelineJS 因此,给出下面的演示JSON字符串……我需要对我的应用程序做什么才能重新创建这个JSON字符串 ()TimelineJS开发人员演示的JSON示例如下所示Ruby on rails 如何在rails应用程序中创建JSON字符串,ruby-on-rails,json,timeline.js,Ruby On Rails,Json,Timeline.js,所以我使用的是TimelineJS(),我使用的是Rails应用程序 我需要找出如何生成一个合适的JSON字符串用于TimelineJS 因此,给出下面的演示JSON字符串……我需要对我的应用程序做什么才能重新创建这个JSON字符串 ()TimelineJS开发人员演示的JSON示例如下所示 var dataObject = { "timeline": { "headline":"The Main Timeline Headline Goes here", "type":"def
var dataObject = {
"timeline":
{
"headline":"The Main Timeline Headline Goes here",
"type":"default",
"text":"<p>Intro body text goes here, some HTML is ok</p>",
"asset": {
"media":"http://yourdomain_or_socialmedialink_goes_here.jpg",
"credit":"Credit Name Goes Here",
"caption":"Caption text goes here"
},
"date": [
{
"startDate":"2011,12,10",
"endDate":"2011,12,11",
"headline":"Headline Goes Here",
"text":"<p>Body text goes here, some HTML is OK</p>",
"tag":"This is Optional",
"classname":"optionaluniqueclassnamecanbeaddedhere",
"asset": {
"media":"http://twitter.com/ArjunaSoriano/status/164181156147900416",
"thumbnail":"optional-32x32px.jpg",
"credit":"Credit Name Goes Here",
"caption":"Caption text goes here"
}
}
],
"era": [
{
"startDate":"2011,12,10",
"endDate":"2011,12,11",
"headline":"Headline Goes Here",
"text":"<p>Body text goes here, some HTML is OK</p>",
"tag":"This is Optional"
}
]
}
那么,我该如何从中创建TimeLineJSON字符串呢?有什么想法吗
更新:使用下面提供的关于第一个答案的建议…我的模型和控制器文件中分别有这个…但这不起作用…我得到一个“未定义的方法-时间线”错误…我做错了什么
coin.rb(模型)
endRails有一个内置的to_json方法。您需要做的是在您的模型中使用一个方法来创建具有此结构的散列,并且您可以将其作为json发送到前端。例如:
class YourModel
def timeline
t = {}
t['timeline'] = {}
t['timeline']['headline'] = "Lorem ipsum"
...
...
return t
end
end
在控制器操作中:
@timeline = model.timeline.to_json
从这里开始,您需要调用JSON.parse()来使用前端的数据。Rails有一个内置的to_JSON方法。您需要做的是在您的模型中使用一个方法来创建具有此结构的散列,并且您可以将其作为json发送到前端。例如:
class YourModel
def timeline
t = {}
t['timeline'] = {}
t['timeline']['headline'] = "Lorem ipsum"
...
...
return t
end
end
在控制器操作中:
@timeline = model.timeline.to_json
从这里开始,您需要调用JSON.parse()来使用前端的数据。您可以使用它来创建复杂的
JSON
输出。它的工作原理与普通视图类似。只需在视图文件夹中创建一个index/show.json.jbuilder模板。然后您不需要调用render json:@timeline
就可以使用它来创建复杂的json
输出。它的工作原理与普通视图类似。只需在视图文件夹中创建一个index/show.json.jbuilder模板。那么你就不需要调用render json:@timeline
看看我对原始问题的更新……我发现了一个未定义的方法错误,我不知道如何解决……谢谢你的帮助。顺便说一句。@thefonse,我只是好奇,你解决了你的问题了吗?我有完全相同的问题。如果你能分享你的解决方案,那就太好了。非常感谢你!看一看我对原始问题的更新…我遇到了一个未定义的方法错误,我不知道如何解决…谢谢你的帮助顺便说一句。@thefonse,我只是好奇,你解决了你的问题吗?我有完全相同的问题。如果你能分享你的解决方案,那就太好了。非常感谢你!
@timeline = model.timeline.to_json