【问题标题】:Rails Json response helpRails Json 响应帮助
【发布时间】:2010-10-29 00:04:26
【问题描述】:

在我的控制器中,我有:

@photo = Photo.find(:all)

respond_to do |format|
...
format.json { render :json => @photo.to_json)

end

所以我的回复是这样的:

{
        "photo":
        {
            "updated_at":"2010-10-14T19:12:35Z",
            "photo_file_size":206422,
            "created_at":"2010-10-14T19:12:01Z"
        }
    },
    {
        "photo":
        {
            "updated_at":"2010-10-16T18:19:38Z",
            "photo_file_size":83593,
            "created_at":"2010-10-14T19:14:35Z"
        }
    }

如何为每个照片块添加额外的 json 键值对? 类似:

"photo":
        {
            "updated_at":"2010-10-14T19:12:35Z",
            "photo_file_size":206422,
            "created_at":"2010-10-14T19:12:01Z"
 ---->      "created_at_b":"2010/10/14"
        }

也许:include 选项?

谢谢!

【问题讨论】:

    标签: ruby-on-rails json


    【解决方案1】:

    to_json 可以包含模型上可用的任何方法的结果。例如,您可以在模型中添加以下方法:

    class Photo < ActiveRecord::Base
      def created_at_b
        # whatever you want to do
      end
    end
    

    在你的控制器中添加:

    format.json { render :json => @photo.to_json(:methods=>[:created_at_b])
    

    这应该返回您所追求的 json。

    【讨论】:

    • 如何在每张照片中添加“created_at_b”字段?
    • 这就是第一个代码块的用途,您可以将该方法定义放在模型类中。我已经编辑了答案,所以它更清楚了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多