如何将rails request.env转换为javascript?

时间:2013-11-12 16:52:59

标签: javascript ruby-on-rails ruby erb

我有下一个js.erb文件:

<% if Rails.env == 'production' %>
  <% if request.env['SERVER_NAME'] == 'example.com' %>
    $(function () {
     ...
     ...
    });
  <% end %>
<% end %>

如何在没有Ruby的情况下转换JavaScript中的第二行?

2 个答案:

答案 0 :(得分:1)

输出SERVER_NAME作为字符串,并进行比较客户端:

<% if Rails.env == 'production' %>
  if ('<%= request.env['SERVER_NAME'] %>' == 'example.com') {
    $(function () {
     ...
     ...
    });
  }
<% end %>

如果第二行可以“只包含javascript”(我强烈质疑),那么你可以将Ruby位移到变量:

var serverName = '<%= request.env['SERVER_NAME'] %>';

<% if Rails.env == 'production' %>
  if (serverName == 'example.com') {
    $(function () {
     ...
     ...
    });
  }
<% end %>

答案 1 :(得分:0)

我找到了答案:

<% if Rails.env == 'production' %>
 if (window.location.hostname == 'example.com') {
   $(function () {
   ...
   ...
   });
  }
<% end %>