我有一个帖子模型,它有一个我想设置的虚拟属性,然后包含在对我的 post#index 操作的 JSON 调用的响应中。我似乎无法将虚拟属性包含在响应中。
class Post < ActiveRecord::Base
attr_accessible :height
attr_accessor :m_height
end
class PostsController < ApplicationController
respond_to :html, :json, :js
def index
story = Story.find(params[:story_id])
@posts = story.posts.where("posts.id >= ?", 100)
@posts.each do |post|
post.m_width = post.height * 200
end
results = { :total_views => story.total_views,
:new_posts => @posts }
respond_with(results)
end
end
我认为我必须需要类似的东西@post.to_json(:methods => %w(m_width))
,但我不知道如何在 response_with 中使用 :methods