Jak*_*zok 10 truncate ruby-on-rails helper
我有很长的描述,我想截断使用truncate helper.所以我使用:
truncate article.description, :length => 200, :omission => ' ...'
Run Code Online (Sandbox Code Playgroud)
问题是我想使用更多作为可点击链接,所以理论上我可以使用这个:
truncate article.description, :length => 200, :omission => "... #{link_to('[more]', articles_path(article)}"
Run Code Online (Sandbox Code Playgroud)
遗漏文本被处理为不安全,因此它被转义.我试图让它成为html_safe但它没有用,而不是链接[更多]我的浏览器仍然显示该链接的html.
有没有办法强制截断打印遗漏链接而不是遗漏文本?
Ada*_*bin 11
使用Rails 4,您可以/应该传入一个块来获取链接:
truncate("Once upon a time in a world far far away",
length: 10,
separator: ' ',
omission: '... ') {
link_to "Read more", "#"
}
Run Code Online (Sandbox Code Playgroud)
Pan*_*kos 10
我建议你自己在一个帮助方法中做这个,这样你就可以对输出有更多的控制:
def article_description article
output = h truncate(article.description, length: 200, omission: '...')
output += link_to('[more]', article_path(article)) if article.description.size > 200
output.html_safe
end
Run Code Online (Sandbox Code Playgroud)
肮脏的解决方案...使用"原始"方法来解决它.
你必须确保你的内容"健全".
raw(truncate article.description, :length => 200, :omission => "... #{link_to('[more]', articles_path(article)}")
Run Code Online (Sandbox Code Playgroud)
raw是一个像html_safe一样的帮手.
再见
编辑:不是被遗漏的遗漏,而是截断方法的结果.
| 归档时间: |
|
| 查看次数: |
5387 次 |
| 最近记录: |