基于 Rails 变量的 Javascript 条件

发布于 2024-09-16 08:23:22 字数 148 浏览 3 评论 0原文

我想设置一个全局常量(在 Rails 中),然后根据该常量将一个条件放入 JavaScript 文件中(该文件包含在我的应用程序的每个页面中) )。我还有一些基于此变量的 Rails 相关代码。

最好的方法是什么?

I want to set a global constant (in Rails) and then depending on that I want to put a condition in a JavaScript file (which is included in every page of my app). I also have some Rails dependent code based on this variable.

What is the best way to do this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

西瓜 2024-09-23 08:23:22

在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>

In application_controller.rb

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

In application.html.erb

<script type="text/javascript">
  var my_global = "<%= @my_global %>"
</script>
辞旧 2024-09-23 08:23:22

您可以定义一个全局变量,例如:window.profileName = 'Shikher';。或者,如果您需要多个全局变量,我建议创建一个范围:

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

以及其他地方

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

如果您将在任何地方使用它,您可以将全局定义直接插入布局文件中。

You can define a global variable like: window.profileName = 'Shikher';. Or in case you need several global variables I'd suggest to create a scope:

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

and somewhere else

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

In case you will use it everywhere you can insert the globals defenition right in the layout file.

枕头说它不想醒 2024-09-23 08:23:22

你可以使用这个 gem http://github.com/ejschmitt/jsvars 通过 ruby​​ 定义 javascript 变量然后在你的js中使用它们

you can use this gem http://github.com/ejschmitt/jsvars to define javascript vars via ruby and then use them in you js

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文