Rails 3 を使用して、単語の途中で切り取られることなく、テキストを最も近い位置に切り捨てるにはどうすればよいですか?
たとえば、次の文字列があります:
"Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum."
切るなら、このように切りたいです。
"Praesent commodo cursus magna, vel scelerisque nisl ..."
そしてそうではありません:
"Praesent commodo cursus magna, vel scelerisque nisl conse..."
ベストアンサー1
truncateメソッドに区切り文字を渡すと、単語の途中で切り捨てられるのではなく、自然な単語区切りが実行されます。
次のようなものが機能するはずです (デフォルトの 30 文字が必要な場合は、完全に削除したい長さに変更します)。
truncate("Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.", :length => 17, :separator => ' ')
切り捨てオプションの詳細については、ドキュメンテーション