respond_to:json + respond_with +(除了所有动作)

时间:2011-05-18 12:17:25

标签: ruby-on-rails json ruby-on-rails-3

AlbumsController:

respond_to :json

def index
  respond_with albums.ordered
end

现在我该怎样才能使基础调用to_json始终使用以下选项执行:except => [:created_at, :updated_at]?我并不仅仅意味着这个动作,而是意味着在这个控制器中定义的所有其他动作。

2 个答案:

答案 0 :(得分:4)

as_json方法用于序列化为json

class Album

  def as_json(params={})
    params.merge! {:except=>[:created_at, :updated_at]}
    super(params)
  end

end

答案 1 :(得分:1)

您可以在模型上定义serializable_hash,定义要返回的键和值。然后Rails将根据此哈希返回JSON / XML:

def serializable_hash
  { :name => "Stack Overflow",
    :created_at => created_at",
    :posts_count => posts.count
  }
end