我需要设置一个textarea
值,其中包含一个来自数据库的段落。
$("#body").val('<%= @letter.body %>');
当@letter.body
只是简单文本时,上面的代码有效,但是当有新行或该字段中的任何其他内容时它会失败。如何在我的textarea中正确呈现整个段落,包括可能包含的任何换行符,子弹等?
答案 0 :(得分:1)
在PHP中它可以是:
$("#body").val('<?=json_encode($letter->body)?>');
所以在ruby中找到相同的json编码,你就完成了。
我们需要json编码,因为在js中我们不能有这样的var:
var f = 'daadsasd
asdadsdasdas';
仅
var f = 'daadsasd\nasdadsdasdas';
请参阅:
答案 1 :(得分:0)
Rails 3.0:
$("#body").val(<%= @letter.body.to_json %>);
Rails 3.1:
$("#body").val(<%= j @letter.body %>);