Railsで単語の途中でカットせずに文字列を切り捨てる 質問する

Railsで単語の途中でカットせずに文字列を切り捨てる 質問する

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 => ' ')

切り捨てオプションの詳細については、ドキュメンテーション

おすすめ記事