Rails json在emberjs中的反应

时间:2013-08-07 14:05:18

标签: javascript ruby-on-rails ember.js

这是我的序列化程序

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响应。

1 个答案:

答案 0 :(得分:0)

你似乎有点倒退了。如果你想序列化帖子,你应该有一个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"}}}