0

我正在阅读这个 Railscast:http: //railscasts.com/episodes/340-datatables?view=asciicast

瑞恩说,在页面的中间

as_json 方法由控制器中的 render_json 调用在后台触发。

但没有给出更多解释。我试图让这个类也用 CSV 响应,但是def as_csv在类和format.csv { render :csv =>调用控制器中什么都不做。

所以,不知何故,该类知道它何时由 初始化render :json,但我不知道如何让它知道它是由 初始化的render :csv。有人可以解释一下吗?

4

1 回答 1

1

如果将对象传递给render :json,则as_json对该对象调用该方法以检索该对象的 JSON 表示。您可以覆盖此方法,以便它返回您想要的任何内容。

这仅适用于 JSON,它不是适用于所有格式的通用规则。如果您想呈现某个对象的 CSV 表示,您可以使用以下方法轻松完成:

format.csv do
  render :text => object.as_csv
end

然后as_csv在类中实现该方法。

于 2012-09-09T00:22:38.053 回答