【问题标题】:How can I access Rails Routes/URLs in my JavaScript?如何在我的 JavaScript 中访问 Rails 路由/URL?
【发布时间】:2017-09-19 15:06:11
【问题描述】:

我对 Ruby on Rails 非常陌生,所以请耐心等待。

所以,我刚刚为我的 Web 应用程序创建了以下 URL:

HOMEPAGE (WHEN RUNNING PROJECT LOCALLY): localhost:3000
PRODUCTS PAGE: localhost:3000/products
TOYOTA PAGE: localhost:3000/products/toyota
HONDA PAGE: localhost:3000/products/honda
FORD PAGE: localhost:3000/products/ford
NISSAN PAGE: localhost:3000/products/nissan
CHEVROLET PAGE: localhost:3000/products/chevrolet
MERCEDES PAGE:  localhost:3000/products/mercedes
BMW PAGE: localhost:3000/products/bmw
HYUNDAI PAGE: localhost:3000/products/hyundai

这是我创建这些 URL 的 config/routes.rb:

get 'products', to: 'static#products'
root to: 'static#home'

get 'products/toyota', to: 'static##products#toyota'
get 'products/honda', to: 'static#products#honda'
get 'products/ford', to: 'static#products#ford'
get 'products/nissan', to: 'static#products#nissan'
get 'products/chevrolet', to: 'static#products#chevrolet'
get 'products/mercedes', to: 'static#products#mercedes'
get 'products/bmw', to: 'static#products#bmw'
get 'products/hyundai', to: 'static#products#hyundai'

这是我的产品页面的 JavaScript 文件的 sn-p:

    g.prototype.Ce = function(b,
        f) {

        var e = this;
        x.i.Mg(b, f);
        x.A("build/getModelOptions", {
            year: b,
            make: f,
            included_body_styles: x.options.included_body_styles
        }, function(b) {
            b = a.parseJSON(b);
            e.bg.render(b, function(b) {
                //$("#builder-make-selection .custom_dd_select a").text("Toyota");
                a("#builder_splash_models").html(b);
                a.each(a(".builder_body_types"), function(a, b) {
                    k(b);
                    console.log("b=" + JSON.stringify(b));
                    console.log("k(b)=" + JSON.stringify(k(b)));
                })
            })
        })
    };

基本上,我想做的是,在 JS 中,在读取

的行中
       make: f;

如果我访问 Toyota 页面:我想让该行阅读:

      make: 'Toyota';

如果我转到本田页面,我希望该行显示为:

      make: 'Honda'

如果我去福特页面,我想把那一行写成:

      make: 'Ford';

等等等等。你明白了。关于如何做到这一点的任何想法?

【问题讨论】:

    标签: javascript ruby-on-rails routing


    【解决方案1】:

    我认为Rails 不应该被视为在JavaScript 中获得current url。您可以使用以下JavaScript 代码轻松获取current url

    URL       -> document.location;
    Path Name -> window.location.pathname;
    Full URL  -> window.location.href;
    

    【讨论】:

      猜你喜欢
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 2013-04-28
      相关资源
      最近更新 更多