テキスト型のコメント フィールドを含むポートフォリオ モデルがあります。その値は、cr と nl 文字の組み合わせで区切られた一連の段落です。目的は、段落を配列に抽出し、それらを <p> タグでラップし、ブラウザーに出力するために再結合することです。したがって、以下のコードの焦点は 6 行目から 8 行目です。
私が抱えている問題は、 < および > 文字が HTML エンティティ < としてレンダリングされることです。と >.
私は Ruby と Rails に慣れていないので、これが意図したとおりに機能しない理由は、おそらく間違ったアプローチを取っているためだと思います。また、経験豊富な Ruby コーダーがこれにどのように対処するかを知りたいです。みたいな状況。ビューに送信する前に、コンテンツに HTML タグをどのように挿入しますか? それとも、それは常に MVC モデルに違反していますか? その場合、この種の問題を解決する正しい方法は何ですか?
コードは次のとおりです。
1. module ApplicationHelper
2.
3. def portfolio_featured
4. @portfolios = Portfolio.all
5. @portfolios.each do |p|
6. paras = p.comments.split(/\r?\n\r?\n/)
7. paras.collect! { |p| "<p>" + p + "</p>" }
8. p.comments = paras.join
9. end
10. end
11.
12. end