Insert text into text area field with RJS

When in doubt, drop to javascript:

page << "$('article_body').value += 'blah'"

Where is your RJS being loaded up?

Your escaping is a off with the newlines, so that could be the issue.
When you use #<<, you'll be dumping a string directly to javascript,
and ruby's quoting is getting in the way, so "$('article_body').value
+= '\n\\blah\n'" would be sent to your browser as:

"$('article_body').value += '
\blah
'

Instead you should escape the newlines. Also, you'll need to double
escape the \\ before the b, because '\b' will get interpreted in
javascript as a backspace character: "$('article_body').value += '\\n\\
\\blah\\n'". Or you can use ruby single quotes and heredocs to make
things look nicer although you won't be able to insert variables into
the string block.

page << <<-'end'
  $('article_body').value += '\n\\blah\n';
end

Ingo Paulsen wrote:

Thanks again Eden,

this was helpful for me. I didn't get the double backslash (escape)
point yesterday.

Regards
Ingo

Where is your RJS being loaded up?

Your escaping is a off with the newlines, so that could be the issue.
When you use #<<, you'll be dumping a string directly to javascript,
and ruby's quoting is getting in the way, so "$('article_body').value
+= '\n\\blah\n'" would be sent to your browser as:

"$('article_body').value += '
\blah
'

Instead you should escape the newlines. Also, you'll need to double
escape the \\ before the b, because '\b' will get interpreted in
javascript as a backspace character: "$('article_body').value += '\\n\\
\\blah\\n'". Or you can use ruby single quotes and heredocs to make
things look nicer although you won't be able to insert variables into
the string block.

page << <<-'end'
  $('article_body').value += '\n\\blah\n';
end

On Mar 26, 5:23 am, Ingo Paulsen <rails-mailing-l...@andreas-s.net>

Hi,

This helps for me but I have 1 doubt

def add_text_link(name)
    link_to_function name do |page|
begin
        page << <<-'end'
  $('text_area').value += "\n Hello world" ;
end
end

I added above code in the RJS, this works but if I need to use the name
parameter that is passed in how do I do it?

I tried #{name} but no luck...

Thanks,
Sudhindra