0

我在 application.rb 中添加了一个配置变量,例如

module Www
    class Application < Rails::Application
      ...
      config.myurl = "http://localhost:8443/play"
end

在我的页面上单击某些内容后,我想使用此配置变量的值来提供我的完整 url,例如 mypage.js

function ClickedOnSomething(someid){
    var fullUrl = <value of config.myurl> + '?id='+someid+'.html'; 
    ...
}

因此,例如,如果我单击的 id 是 1776,那么 fullUrl 将是字符串 http://localhost:8443/play?id=1776.html

我正在使用 Ruby on Rails 3.2.3 和 Ruby 1.9.3

我尝试过的一件事是通过控制器,如下所示:

在 application_controller.rb 我添加

def before_filter
  # This variable will be available in all controller actions and views
  @url_global = Www::Application.config.myurl
end

在 application.html.erb 我添加

<script type="text/javascript">
  var url_global = "<%= @url_global %>"
</script>

然后在 mypage.js 我做了

function ClickedOnSomething(someid){
    var fullUrl = @url_global + '?id='+someid+'.html'; 
    ...
}

但 @url_global 无法识别。实际上,我已经尝试了许多在 javascript 中使用 var 的不同变体,但没有什么对我有用。

4

1 回答 1

1

我看到你声明

var url_global = "<%= @url_global %>";

所以你必须在函数中使用 url_global,而不是 @url_global;

var fullUrl = url_global + '?id='+someid+'.html'; 

我对么?

于 2012-06-12T18:00:54.250 回答