Ruby on rails 用Rails生成JSON?

Ruby on rails 用Rails生成JSON?,ruby-on-rails,json,Ruby On Rails,Json,我只需要生成一个JSON字符串,如下所示: def self.feedback_request(history_event) @event = history_event.event @case_tracking_id = history_event.case_tracking_id @request_type = "feedback" return "{ "event":@event "case_tracking_id":@case

我只需要生成一个JSON字符串,如下所示:

def self.feedback_request(history_event)
    @event = history_event.event
    @case_tracking_id = history_event.case_tracking_id
    @request_type = "feedback"
   return "{
        "event":@event
        "case_tracking_id":@case_tracking_id
        "request_type":@request_type
        "event_data":historic_event.to_json
     }"
end
json.(@event, @case_tracking_id, @request_type, historic_event)

rails是否有生成JSON字符串的方法?

正确的方法是使用作为rails一部分的

因此,从文件中可以看出:

# app/views/message/show.json.jbuilder

json.content format_content(@message.content)
json.(@message, :created_at, :updated_at)

json.author do
  json.name @message.creator.name.familiar
  json.email_address @message.creator.email_address_with_name
  json.url url_for(@message.creator, format: :json)
end

if current_user.admin?
  json.visitors calculate_visitors(@message)
end

json.comments @message.comments, :content, :created_at

json.attachments @message.attachments do |attachment|
  json.filename attachment.filename
  json.url url_for(attachment)
end
这将构建以下结构:

{
  "content": "<p>This is <i>serious</i> monkey business</p>",
  "created_at": "2011-10-29T20:45:28-05:00",
  "updated_at": "2011-10-29T20:45:28-05:00",

  "author": {
    "name": "David H.",
    "email_address": "'David Heinemeier Hansson' <david@heinemeierhansson.com>",
    "url": "http://example.com/users/1-david.json"
  },

  "visitors": 15,

  "comments": [
    { "content": "Hello everyone!", "created_at": "2011-10-29T20:45:28-05:00" },
    { "content": "To you my good sir!", "created_at": "2011-10-29T20:47:28-05:00" }
  ],

  "attachments": [
    { "filename": "forecast.xls", "url": "http://example.com/downloads/forecast.xls" },
    { "filename": "presentation.pdf", "url": "http://example.com/downloads/presentation.pdf" }
  ]
}

我认为模型不是生成JSON数据的正确位置,控制器才是。@RahulRoy在本例中,我并不是这样说明的。这是一个发送到另一台服务器的请求,该服务器将返回JSON,我将其传递给控制器以提供给用户?它只是用json数据替换您的视图。因此,您不是创建普通视图文件,而是创建json.rabl文件。过来看