2010-08-25 2 views
0

Я хочу установить глобальную константу (в Rails), а затем в зависимости от этого хочу поместить условие в файл JavaScript (который включен в каждую страницу моего приложения). У меня также есть код, зависящий от Rails, на основе этой переменной.Условие Javascript, основанное на переменной Rails

Каков наилучший способ для этого?

ответ

2

В application_controller.rb

def before_filter 
    # This variable will be available in all controller actions and views 
    @my_global = "testing" 
end 

В application.html.erb

<script type="text/javascript"> 
    var my_global = "<%= @my_global %>" 
</script> 
+0

Это выглядит как самый лучший способ сделать это ... (я не пробовал gem way) Спасибо! – Garfield

1

Вы можете определить глобальную переменную типа: window.profileName = 'Shikher';. Или в случае, если вам нужно несколько глобальных переменных, я хотел бы предложить создать область:

var Globals = {}; 
Globals.profileName = '<%= @user.profile_name %>'; 

и где-то еще

Globals.userId = '<%= @user.id %>'; 

В случае, если вы будете использовать его везде, где вы можете вставить в Глобалы Defenition прямо в файл макета.

0

вы можете использовать этот драгоценный камень http://github.com/ejschmitt/jsvars определить Javascript вары с помощью рубина, а затем использовать их в вас Js

Смежные вопросы