# How to use javascript variables in ruby

**URL:** <https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113>\
**Category:** rubyonrails-talk\
**Created:** [November 13, 2013, 1:30pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113 "2013-11-13T13:30:15Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Daynthan\_Kabilan](https://avatars.discourse-cdn.com/v4/letter/d/a88e57/32.png) [@Daynthan\_Kabilan](https://discuss.rubyonrails.org/u/Daynthan_Kabilan)\
**Post date:** [November 13, 2013, 1:30pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113/1 "2013-11-13T13:30:15Z")

</div>

Hi friends,

How to use javascript variables in ruby.

i have activity id on a\_id

function(a\_id)

{

\<%@foo=Activity.where("activity\_id = ? ", a\_id)

}

how can solve it

---

<div class="post-metadata">

**Author:** ![Jordon\_Bedwell](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@Jordon\_Bedwell](https://discuss.rubyonrails.org/u/Jordon_Bedwell)\
**Post date:** [November 13, 2013, 1:55pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113/2 "2013-11-13T13:55:55Z")

</div>

Name it: app/assets/javascript/file.js.erb and it will go through ERB.

---

<div class="post-metadata">

**Author:** ![Jordon\_Bedwell](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@Jordon\_Bedwell](https://discuss.rubyonrails.org/u/Jordon_Bedwell)\
**Post date:** [November 13, 2013, 1:58pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113/3 "2013-11-13T13:58:26Z")

</div>

Actually I think I'm wrong try:

> **[\#324 Passing Data to JavaScript - RailsCasts](http://railscasts.com/episodes/324-passing-data-to-javascript?view=asciicast)**
>
> Short Ruby on Rails screencasts containing tips, tricks and tutorials. Great for both novice and experienced web developers.

---

<div class="post-metadata">

**Author:** ![Scott\_Ribe](https://avatars.discourse-cdn.com/v4/letter/s/a183cd/32.png) [@Scott\_Ribe](https://discuss.rubyonrails.org/u/Scott_Ribe)\
**Post date:** [November 13, 2013, 2:32pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113/4 "2013-11-13T14:32:24Z")

</div>

It's not at all clear to me what you are asking, but remember:

- Ruby runs on the server; - Javascript runs in the browser. - Sometimes Ruby on the server is used to create/modify Javascript to be run in the browser.

---

<div class="post-metadata">

**Author:** ![Daynthan\_Kabilan](https://avatars.discourse-cdn.com/v4/letter/d/a88e57/32.png) [@Daynthan\_Kabilan](https://discuss.rubyonrails.org/u/Daynthan_Kabilan)\
**Post date:** [November 13, 2013, 2:40pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113/5 "2013-11-13T14:40:11Z")

</div>

hi

here i have mention example code

---

<div class="post-metadata">

**Author:** ![walterdavis](https://sea2.discourse-cdn.com/rubyonrails/user_avatar/discuss.rubyonrails.org/walterdavis/32/705_2.png) [@walterdavis](https://discuss.rubyonrails.org/u/walterdavis)\
**Post date:** [November 13, 2013, 2:45pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113/6 "2013-11-13T14:45:23Z")

</div>

> hi
> 
> here i have mention example code
> 
> \<script type="text/javascript"\>
> 
> var js\_name="daya";
> 
> \<%=@user=User.where("name=?", js\_name%\>
> 
> alert("\<%=@user%\>");
> 
> \</script \>

If you're going to use Erb in your JavaScript, then you must name your file whatever.js.erb. Then your \<%= %\> will expand to be whatever the local value of @user is at the moment that script is requested. You will need a controller, too, and your request will need to have some context around it. If your controller had a respond\_to block in it, and your JavaScript file was named sensibly for the controller method, then this would Just Work™,

&nbsp;&nbsp;&nbsp;&nbsp;respond\_to do |format| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format.js { render :layout =\> false } &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format.html &nbsp;&nbsp;&nbsp;&nbsp;end

Walter

---

<div class="post-metadata">

**Author:** ![Scott\_Ribe](https://avatars.discourse-cdn.com/v4/letter/s/a183cd/32.png) [@Scott\_Ribe](https://discuss.rubyonrails.org/u/Scott_Ribe)\
**Post date:** [November 13, 2013, 2:52pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113/7 "2013-11-13T14:52:23Z")

</div>

OK, evaluate that code in light of what I said previously:

- Ruby runs on the server; - Javascript runs in the browser.

Now:

1) What do you think that code will do??? 2) What are you actually trying to accomplish?

---

<div class="post-metadata">

**Author:** ![Colin\_Law1](https://avatars.discourse-cdn.com/v4/letter/c/91b2a8/32.png) [@Colin\_Law1](https://discuss.rubyonrails.org/u/Colin_Law1)\
**Post date:** [November 13, 2013, 2:55pm UTC](https://discuss.rubyonrails.org/t/how-to-use-javascript-variables-in-ruby/68113/8 "2013-11-13T14:55:03Z")

</div>

Remember the above is evaluated on the /server/ before the page is rendered. js\_name is not meaningful at that time.

Colin
