新手问题 求思路

scuwolf · 2014年09月12日 · 最后由 loveltyoic 回复于 2014年09月15日 · 1428 次阅读
class Post < ActiveRecord::Base
  belongs_to :user
end

class User < ActiveRecord::Base
        has_many :posts
end

比如有以下数据

user_id user_name 1 hanmeimei 2 lilei

post_id user_id post_key post_value 1 1 key1 value1 2 1 key2 value2

我想请求 /user/1/posts 返回一个 json 如下

{ key1: value1, key2: value2 }

很小白的问题,但是想了很久也不知道怎么解决,求指导思路

看来是还没有入门哦,推荐看一看 ruby on rails 教程,看完肯定懂 ps: render posts: @user.posts.to_json

可以在 User 中定义一个 format 数据的方法(可能有更简单的写法,暂时想不出来,欢迎指正)

class User

  def post_infos
    self.posts.inject({}) { |memo, post| memo.merge!({ post.post_key => post.post_value }) }
  end

end

之后在 controller 里面

render json: @user.post_infos
需要 登录 后方可回复, 如果你还没有账号请 注册新账号