我正在尝试访问我的变量的 JSON 版本。我尝试使用 . 显示变量上的符号,因为我认为它现在已格式化为 json 对象。@shows.title 但这导致了错误。我尝试使用 @shows.to_json.title 让它工作,但仍然没有好处。我想当你 format.json 时它已经调用了 to_json ,这就是使用格式的想法,或者我以这种方式思考是不正确的。如果是这样,那么格式会做什么。
class ShowsController < ApplicationController
# GET /shows
# GET /shows.json
def index
@shows = Show.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @shows }
end
end
index.html.erb
<p> @shows.title <p>
我在 JSON 中寻找的结构是这样的。
[
{
"id": "feature",
"width":570,
"title": "Lorem ipsum dolor amet emipsum do omnis iste natus",
"description": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantiu mdoloremque laudantium.",
"img": "img/work/img1.jpg",
"url": "http://www.bla.com"
},
{
"id": "show",
"width":200,
"title": "Lorem ipsum dolo",
"description": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantiu mdoloremque laudantium.",
"img": "img/work/img2.jpg",
"url": "http://www.bla.com"
}
]
更新:也许我没有正确解释这一点。
我的目标是让我在控制器中的操作调用 index.html 页面,它现在就是这样做的。在该页面上是一个 jquery 插件,它请求一个包含数据库中所有数据的 JSON 对象。这样它就可以解析 JSON 并使用 jquery 插件渲染 index.html 页面上的所有对象。这样做的原因是它使用了一个名为 jquery.masonry.js 和 jquery.infinitescroll.js 的插件,它现在设置为使用多个 JSON 结构来创建我的页面。