How to insert multi line string into coffeescript/jquery value with Rails











up vote
0
down vote

favorite












I have some CoffeeScript in my Rails project, with which I'm trying to update a textarea. My CoffeeScript is:



$('#video_description').val(<%= @description %>")


The returned text is a string from the YT gem (a description from one of my YouTube videos). An example can be:



Testing that this works
Does this work?


When I load the page and inspect it with the Developer Tools in Chrome, the CoffeeScript looks like:



$('#video_description').val("Testing that this works
Does this work?")


The new line avoids the CoffeeScript from making sense to the interpreter, and it raises the following message:



Uncaught SyntaxError: Invalid or unexpected token


I've tried replacing the CoffeeScript with:



$('#video_description').val(<%= h @description %>")


This has no effect (other than to escape all the single quotes in the actual string). It has something to do with the fact the string is dropped into the quotes as is.



I need to have the text string to have n instead of the carriage return.



Any help to solve this would be great.










share|improve this question




























    up vote
    0
    down vote

    favorite












    I have some CoffeeScript in my Rails project, with which I'm trying to update a textarea. My CoffeeScript is:



    $('#video_description').val(<%= @description %>")


    The returned text is a string from the YT gem (a description from one of my YouTube videos). An example can be:



    Testing that this works
    Does this work?


    When I load the page and inspect it with the Developer Tools in Chrome, the CoffeeScript looks like:



    $('#video_description').val("Testing that this works
    Does this work?")


    The new line avoids the CoffeeScript from making sense to the interpreter, and it raises the following message:



    Uncaught SyntaxError: Invalid or unexpected token


    I've tried replacing the CoffeeScript with:



    $('#video_description').val(<%= h @description %>")


    This has no effect (other than to escape all the single quotes in the actual string). It has something to do with the fact the string is dropped into the quotes as is.



    I need to have the text string to have n instead of the carriage return.



    Any help to solve this would be great.










    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have some CoffeeScript in my Rails project, with which I'm trying to update a textarea. My CoffeeScript is:



      $('#video_description').val(<%= @description %>")


      The returned text is a string from the YT gem (a description from one of my YouTube videos). An example can be:



      Testing that this works
      Does this work?


      When I load the page and inspect it with the Developer Tools in Chrome, the CoffeeScript looks like:



      $('#video_description').val("Testing that this works
      Does this work?")


      The new line avoids the CoffeeScript from making sense to the interpreter, and it raises the following message:



      Uncaught SyntaxError: Invalid or unexpected token


      I've tried replacing the CoffeeScript with:



      $('#video_description').val(<%= h @description %>")


      This has no effect (other than to escape all the single quotes in the actual string). It has something to do with the fact the string is dropped into the quotes as is.



      I need to have the text string to have n instead of the carriage return.



      Any help to solve this would be great.










      share|improve this question















      I have some CoffeeScript in my Rails project, with which I'm trying to update a textarea. My CoffeeScript is:



      $('#video_description').val(<%= @description %>")


      The returned text is a string from the YT gem (a description from one of my YouTube videos). An example can be:



      Testing that this works
      Does this work?


      When I load the page and inspect it with the Developer Tools in Chrome, the CoffeeScript looks like:



      $('#video_description').val("Testing that this works
      Does this work?")


      The new line avoids the CoffeeScript from making sense to the interpreter, and it raises the following message:



      Uncaught SyntaxError: Invalid or unexpected token


      I've tried replacing the CoffeeScript with:



      $('#video_description').val(<%= h @description %>")


      This has no effect (other than to escape all the single quotes in the actual string). It has something to do with the fact the string is dropped into the quotes as is.



      I need to have the text string to have n instead of the carriage return.



      Any help to solve this would be great.







      html ruby-on-rails coffeescript






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 8 at 11:23









      sawa

      128k27192296




      128k27192296










      asked Nov 8 at 10:33









      Darren

      1,050825




      1,050825
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          Use the escape_javascript() method (shortcut: j())



          $('#video_description').val("<%= j(@description) %>");





          share|improve this answer





















          • Thank you so much. Greatly appreciated. I had no idea that's what the j() meant.
            – Darren
            Nov 8 at 20:08











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53205908%2fhow-to-insert-multi-line-string-into-coffeescript-jquery-value-with-rails%23new-answer', 'question_page');
          }
          );

          Post as a guest
































          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote



          accepted










          Use the escape_javascript() method (shortcut: j())



          $('#video_description').val("<%= j(@description) %>");





          share|improve this answer





















          • Thank you so much. Greatly appreciated. I had no idea that's what the j() meant.
            – Darren
            Nov 8 at 20:08















          up vote
          1
          down vote



          accepted










          Use the escape_javascript() method (shortcut: j())



          $('#video_description').val("<%= j(@description) %>");





          share|improve this answer





















          • Thank you so much. Greatly appreciated. I had no idea that's what the j() meant.
            – Darren
            Nov 8 at 20:08













          up vote
          1
          down vote



          accepted







          up vote
          1
          down vote



          accepted






          Use the escape_javascript() method (shortcut: j())



          $('#video_description').val("<%= j(@description) %>");





          share|improve this answer












          Use the escape_javascript() method (shortcut: j())



          $('#video_description').val("<%= j(@description) %>");






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 8 at 14:16









          arieljuod

          5,57911121




          5,57911121












          • Thank you so much. Greatly appreciated. I had no idea that's what the j() meant.
            – Darren
            Nov 8 at 20:08


















          • Thank you so much. Greatly appreciated. I had no idea that's what the j() meant.
            – Darren
            Nov 8 at 20:08
















          Thank you so much. Greatly appreciated. I had no idea that's what the j() meant.
          – Darren
          Nov 8 at 20:08




          Thank you so much. Greatly appreciated. I had no idea that's what the j() meant.
          – Darren
          Nov 8 at 20:08


















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53205908%2fhow-to-insert-multi-line-string-into-coffeescript-jquery-value-with-rails%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          Popular posts from this blog

          Guess what letter conforming each word

          Port of Spain

          Run scheduled task as local user group (not BUILTIN)