# Pass Ruby Array to Javasript Problem ..

**URL:** <https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907>\
**Category:** rubyonrails-talk\
**Created:** [September 9, 2009, 9:26am UTC](https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907 "2009-09-09T09:26:42Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [September 9, 2009, 9:26am UTC](https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907/1 "2009-09-09T09:26:42Z")

</div>

I have an array named weight\_array. Now i want to pass it to my javascript function abc.. How can i pass it .. May be a stupid question but did'nt find it by googling also ..

Currently i am doing like this. \<%= radio\_button "ab", "cd", { :onclick =\> "abc(weight\_array)"; } %\>

Tried this also .. \<%= radio\_button "ab", "cd", { :onclick =\> "\<%= abc(weight\_array) %\> "; } %\>

Tried this as well .. \<%= radio\_button "ab", "cd", { :onclick =\> "abc(weight\_array.to\_json)"; } %\>

Also after resolving it, i want to know that if i need to pass the ruby array with join function ..then how can we pass .. I mean the function [weight\_array.join(", ") ..] ..

Need to know each and every possible answer ..

---

<div class="post-metadata">

**Author:** ![Abhinav\_Saxena](https://avatars.discourse-cdn.com/v4/letter/a/4da419/32.png) [@Abhinav\_Saxena](https://discuss.rubyonrails.org/u/Abhinav_Saxena)\
**Post date:** [September 9, 2009, 9:35am UTC](https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907/2 "2009-09-09T09:35:49Z")

</div>

Please clarify, abc is the javascript function and weight\_array is the ruby array, right?

Thanks, Abhinav

---

<div class="post-metadata">

**Author:** ![Abhinav\_Saxena](https://avatars.discourse-cdn.com/v4/letter/a/4da419/32.png) [@Abhinav\_Saxena](https://discuss.rubyonrails.org/u/Abhinav_Saxena)\
**Post date:** [September 9, 2009, 9:44am UTC](https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907/3 "2009-09-09T09:44:13Z")

</div>

Although I know very little javasacript, but try this as well:

\<%= radio\_button “ab”, “cd”, { :onclick =\> “abc( " + \<%= weight\_array %\> + " )”; } %\>

BTW, you should use join to make weight\_array a string before passing to javascript function. You can recreate the array in javascript, if you wish, by splitting back.

Thanks, Abhinav

---

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [September 9, 2009, 9:50am UTC](https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907/4 "2009-09-09T09:50:32Z")

</div>

Tried but of no worth .. Newayz thanks a lot for replying .. 🙂

Cheers ..

Abhinav Saxena wrote:

---

<div class="post-metadata">

**Author:** ![Abhinav\_Saxena](https://avatars.discourse-cdn.com/v4/letter/a/4da419/32.png) [@Abhinav\_Saxena](https://discuss.rubyonrails.org/u/Abhinav_Saxena)\
**Post date:** [September 9, 2009, 10:06am UTC](https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907/5 "2009-09-09T10:06:33Z")

</div>

Did you try converting weight\_array into a string first? Because javascript does not understand ruby objects.

Thanks, Abhinav

---

<div class="post-metadata">

**Author:** ![Mukund](https://avatars.discourse-cdn.com/v4/letter/m/e8c25b/32.png) [@Mukund](https://discuss.rubyonrails.org/u/Mukund)\
**Post date:** [September 9, 2009, 11:29am UTC](https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907/6 "2009-09-09T11:29:36Z")

</div>

Use JSON for passing array data between Ruby and Javascript. I think you missed the #{} inside the string above.

\<%= radio\_button "ab", "cd", { :onclick =\> "abc(# {weight\_array.to\_json})"; } %\>

---

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [September 9, 2009, 12:04pm UTC](https://discuss.rubyonrails.org/t/pass-ruby-array-to-javasript-problem/45907/7 "2009-09-09T12:04:47Z")

</div>

Thanks resolved .. Resolved using javascript .. Manipulating that array in javascript only .. 🙂

Mukund wrote:
