我使用facebook api
从散列中检索此键/值"message":"Next Practice:\n\nDate: 04.05.2014\nTime: 10:00-12:00\nVenue: Llandaff Fields\n\nAll welcome
但是当我将它保存到我的模型时,我似乎失去了所有特殊字符,即\ n。有没有办法保存返回的值,以便我可以使用.html_safe输出到我的视图时使用\ n
这就是我检索数据的方式
def get_feed
fb_access_token = access_token
uri = URI(URI.escape "https://graph.facebook.com/#{VANDALS_ID}/posts/?#{fb_access_token}")
response = HTTParty.get(uri)
results = JSON.parse(response.body)
formatted_data(results)
end
我需要做的任何事情,以保持该字符串\ n留在其中
由于
答案 0 :(得分:1)
当我运行以下代码时:
raw_json = '{"message":"Next Practice:\n\nDate: 04.05.2014\nTime: 10:00-12:00\nVenue: Llandaff Fields\n\nAll welcome"}'
parsed_json = JSON.parse(raw_json)
puts parsed_json['message']
# => Next Practice:
# => Date: 04.05.2014
# => Time: 10:00-12:00
# => Venue: Llandaff Fields
# => All welcome
因此\n
被保留(它被解析,并显示为真正的新行)。我也不相信将它保存到您的模型中会抹掉新的线条。
我认为你的真正的问题在于HTML新行(\n
)根本不会呈现为新行,而是呈现为空格。要将它们渲染为新行,您需要将它们替换为中断(<br>
)。
因此,您可以尝试在ERB上使用以下内容:
<div class=message><%= feed.message.gsub("\n", "<br>").html_safe %></div>
现在,您的新行将在页面上呈现。