使用 Profile.all 中的 Rails 字段填充 JSON 文件
我在 Rails 应用程序中使用 jQuery Tokeninput 作为 tags
。我以前从未处理过 JSON(我是编程新手),但我想知道是否有一种方法可以使用 Profile.all
中的字符串值创建然后填充 json 文件。
这是我的 TagsController
中的 index
:
class TagsController < ApplicationController
def index
@tags = Tag.where("name like ?", "%#{params[:q]}%")
respond_to do |format|
format.html
format.json { render :json => @tags.map(&:attributes) }
end
end
end
如果可能的话,有人可以告诉我如何完成它吗?如果需要更多代码,请告诉我!
说明:我想这样做的原因是将@tags
限制为已存在的标签。
I'm using jQuery Tokeninput for tags
in my Rails app. I have never dealt with JSON before (I'm new to programming) but I was wondering if there was a way to create then populate a json file with string values from Profile.all
.
Here is the index
in my TagsController
:
class TagsController < ApplicationController
def index
@tags = Tag.where("name like ?", "%#{params[:q]}%")
respond_to do |format|
format.html
format.json { render :json => @tags.map(&:attributes) }
end
end
end
If it is possible, can someone give me an idea of how it might be done? If more code is needed let me know!
EXPLANATION: The reason I want to do this is to limit @tags
to tags that already exist.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
那么,如果我理解正确的话,您发布的代码可以正常工作吗?但现在您不想将 JSON 输出流式传输到浏览器,而是将其写入文件?
看看 Rails 如何在 源代码中呈现 JSON 。它非常简单,它只需在正在渲染的任何对象上调用
to_json
函数即可。另请查看这篇优秀的文章耶胡达·卡茨 (Yehuda Katz) 着。查找序列化部分。
现在,要将所有配置文件模型作为 JSON 保存到文件中,您可以执行以下操作:
编辑:
根据您添加的说明,这里有一些更多信息:
模型中某些字段的 JSON:
这将在 Ruby 中给你一个像这样的数组:
和 JSON 像这样:
So, if I understand correctly, the code you posted works correctly? But now you don't want to stream the JSON output to the browser, but write it to a file?
Take a look at how Rails renders JSON in the source. It's pretty straightforward, it simply calls the
to_json
function on any object that is being rendered.Also take a look at this excellent post by Yehuda Katz. Look up the section for Serialization.
Now, to save all your Profile models as JSON to a file, you can do something like this:
Edit:
With your added explanation, here's some more info:
JSON of certain fields in your models:
This would give you an array like this in Ruby:
And JSON like this: