我有一个名为content的文本字段,我需要显示它的摘录。
做这件事最好的方法是什么?
类似于:
<% post.content.slice(0..50) %>是我想要的;然而,这给了我一个参数错误。
显示内容文本字段的前50个字符的最佳方式是什么?
或者-当数据被创建/保存到数据库时,我可以创建一个摘录字段吗?
任何帮助都是非常感谢的。提前谢谢。
发布于 2017-03-16 21:48:32
defmodule MyApp.StringFormatter do
def truncate(text, opts \\ []) do
max_length = opts[:max_length] || 50
omission = opts[:omission] || "..."
cond do
not String.valid?(text) ->
text
String.length(text) < max_length ->
text
true ->
length_with_omission = max_length - String.length(omission)
"#{String.slice(text, 0, length_with_omission)}#{omission}"
end
end
end这就是我在我的应用程序中使用的,我相信我是无耻地从某个地方复制粘贴的,但它工作得很好,显然你可以根据自己的需要进行修改。
但是如果你不需要这个花哨的省略功能
String.slice(post.content, 0..50)应该可以很好地工作
https://stackoverflow.com/questions/42835468
复制相似问题