2017-03-16 12 views
1

私は抜粋を表示するために必要なcontentというテキストフィールドを持っています。Phoenix Frameworkのテキストを切り捨てます

これを行うにはどのような方法が最適ですか?以下のような

何か:

<% post.content.slice(0..50) %> 

は、私が考えているものです。しかし、これは私に議論の誤りを与える。

コンテンツテキストフィールドの最初の50文字を表示するにはどうすればよいですか?

また、データをデータベースに作成または保存する際に抜粋フィールドを作成することはできますか?

何か助けていただければ幸いです。前もって感謝します。私は私のアプリで使うものだ

+0

'String.slice(post.content、0..50)'、この答えをチェックしてください - HTTP ://stackoverflow.com/a/39395092/3102718 –

+1

トランケート機能などを提供するパッケージもあります:https://github.com/ikeikeikeike/phoenix_html_simplified_helpers – Johannes

答えて

4
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) 

だけで正常に動作する必要があり、この空想ommisionの事を必要といけない場合

関連する問題