0

我有下一个 js.erb 文件:

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

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

4

2 回答 2

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 %>
于 2013-11-12T16:55:20.553 回答
0

我找到了答案:

<% if Rails.env == 'production' %>
 if (window.location.hostname == 'example.com') {
   $(function () {
   ...
   ...
   });
  }
<% end %>
于 2013-11-12T17:33:19.747 回答