带字符串"render json: "的导轨产生输出而不带大括号?



我是Rails的新手,正在创建一个应用程序,可以调用我现有的基于JSON/Rest的Web服务。 当我进行一些调试时,我碰巧注意到,当我调用以下内容时,结果是我创建的类的实例:

    render json: result
    #output:
    {"storyId":"f4744fd6-d982-4ccc-b176-a22cbb87716b","title":"StoryTitle","mainImageURI":"StoryImageLink","author":"StoryAuthor","description":"StoryDescription"}

浏览器中显示的输出将具有大括号,就像我习惯于使用 json 看到的结果是我自己的自定义对象之一一样,但如果参数是字符串,那么只有字符串显示而没有大括号。 例如:

    render: json "id: #{result.id}")
    #output
    id: bb9fdc7d-de66-4eca-a37a-287bf0986f6c

将产生无大括号输出。 这不是问题,我只是想知道为什么会这样。

问题是render json: render渲染了一个.json文件。而render: json "string".在 Ruby 中呈现json "string"的计算,这是字符串本身。

最新更新