我得到了这个模型:
class Post
def rating_by(ip_address, user = nil)
if user
ratings.where("ratings.user_id = ?", user.id).first
else
ratings.where("ratings.ip_address = ?", ip_address).first
end
end
end
您可能会注意到,我允许用户和访问者进行评分。
我想将帖子输出为带有附加user_rating
属性的 json。
这是我当前的控制器:
@posts = Post.trending(10)
respond_to do |format|
format.html
format.json { render json: @posts.to_json }
end
当然这不会显示它,但我想知道是否有可能使用to_json
's:methods
选项并指定参数,例如:
@posts.to_json(extra: {user_rating: "rating_by(#{request.remote_ip}, #{@current_user.id})"})
所以我最终得到了类似的东西:
[{ id: 54, title: "Foo", user_rating: 8 }]
非常欢迎其他建议!