【问题标题】: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"}}}
    

    【讨论】:

      猜你喜欢
      • 2013-01-12
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多