Textilize problems with line breaks

I’m having a problem formatting some text. I have a textarea that I
input my text into, which will then be put into an e-mail and sent out.

The problem I am having is when there is a single line break.
Multiple line breaks work fine (hitting enter twice), but single line
breaks don’t seem to work properly.

Take the following input:

Line1.

Line2.

Line3.
Line4.

Using <%= textilize @body %> gives me:

Line1.
Line2.
Line3.
Line4.

Knowing that there’s an issue in rails with hard_breaks and
textilize, I tried RedCloth.new(@body).to_html, which gave me:

Line1.

Line2.

Line3.Line4.

Am I missing something??

try:

sometext = RedCloth.new(@body, :hard_breaks)
sometext.to_html

although, judging by http://redcloth.rubyforge.org/rdoc/ that should be
the default behaviour, and the rails ‘textilize’ method should also do
that by default:

# File 

vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb, line 84
84: def textilize(text)
85: if text.blank?
86: “”
87: else
88: textilized = RedCloth.new(text, [ :hard_breaks ])
89: textilized.hard_breaks = true if
textilized.respond_to?(“hard_breaks=”)
90: textilized.to_html
91: end
92: end

I’ve had loads of problems with various platforms and hard_breaks.
what is your actual html output from the various options you tried?

Doing that gives me the exact same output that textilize(@body) does.

Textilize(@body) and RedCloth.new(@body, [:hard_breaks]).to_html both
give me:

Test1.
Test2.
Test3.
Test4.

RedCloth.new(@body).to_html (without hard_breaks) gives me:

Test1.

Test2.

Test3. Test4.

I’ve also tried doing a textilize(@body.gsub("\r\n","
")) to
force one
per line break, but then it screws up things like
bulleted and numbered lists.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs