【问题标题】:Rails json response in emberjsemberjs中的Rails json响应
【发布时间】:2013-08-07 14:05:17
【问题描述】:
这是我的序列化器
class TestSerializer < ActiveModel::Serializer
attributes :post
def post
@post = user.joins(:post).select("user.name as name,post.content as content").where("user_id = ?",object.id)
end
end
如何在 emberjs 模型和视图中调用这个 json 响应。
【问题讨论】:
标签:
javascript
ruby-on-rails
ember.js
【解决方案1】:
你似乎有点倒退了。如果你想序列化一个 Post,你应该有一个 PostSerializer。
如果您已经有如下的 Post 模型设置,
class User < AR::Base
has_many :posts
end
class Post < AR::Base
belongs_to :user
end
创建一个序列化器:
rails g serializer post
rails g serializer user
这看起来像
class PostSerializer < ActiveModel::Serializer
attributes :id, :title
has_one :user
end
在您的控制器中,确保您已设置:
class PostsController
respond_to :html, :json
def show
@post = Post.find(params[:id])
respond_with @post
end
end
那么,一切就绪。调用 /posts/1.json 你会得到
{"post":{"id":1,"title":"the title","user":{"id":1,"name":"jesse"}}}