在Ruby上使用Javascript在rails上编辑代码

时间:2011-07-14 15:05:46

标签: javascript ruby-on-rails ruby heroku

我正在尝试修改Javascript中的代码。我的应用程序是Ruby rails和Javascript。它在Heroku中运行。我一直在修改Notepadd ++中的所有东西,然后我保存它,将它推入heroku然后我看到结果。

当我想在Javascript中更改某些内容时,问题就出现了。我在一个名为quote.js的文件中进行了更改,但是当我改变某些内容时,没有任何反应。下面你可以看到我想要改变的代码。在这种情况下,我只是试图从劳动汇总表中取出一个名为items的列,我将其从变量dest中删除,并将其放入劳动摘要中的注释中。

似乎我在这里所做的更改对整个应用程序没有任何影响。我修改了错误的文件吗?

这是修改Ruby rails中javascript代码的正确方法吗?

感谢。

var labour_summary = $(labour_line_items).inject({}, function(sum){
            var key = this.pieceIdentifier();
            var added = this.pieceSummary();
            if(typeof sum[key] == 'undefined') {
                // New material in summary
                sum[key] = added;
            } else {
                // Add quantity to summary
                sum[key].hours  += added.hours;
                sum[key].cost   += added.cost;
                //sum[key].item += ", " + added.item;
            }
            return sum;
        });


        var dest = this.labour_summary_table;
        $("tr:gt(0)", dest).remove();
        $.each(labour_summary, function() {
            dest.append("<tr><td>" + [$.round_two(this.hours), $.dollars(this.hourly_rate), $.dollars(this.cost)].join("</td><td>") + "</td></tr>");
        });
    },
    updateCustomSummary: function(e) {
        var custom_line_items = this.activeQuoteItems().inject([], function(is) { 
                return $.merge(is, $(this).obj().activeCustomLineItems().get()); // grab this quote items labour line items
            }).collect( function() {    
                return $(this).obj();                                       // extend the array and collect the labour line item objects
            });

        var custom_summary = $(custom_line_items).inject({}, function(sum){
            var key = this.pieceIdentifier();
            var added = this.pieceSummary();
            if(typeof sum[key] == 'undefined') {
                // New material in summary
                sum[key] = added;
            } else {
                // Add quantity to summary
                sum[key].quantity   += added.quantity;
                sum[key].cost       += added.cost;
                //sum[key].item     += ", " + added.item;
            }
            return sum;
        });

        var dest = this.custom_summary_table;
        $("tr:gt(0)", dest).remove();
        $.each(custom_summary, function() {
            dest.append("<tr><td>" + [this.customName, this.quantity, $.dollars(this.costPerPiece), $.dollars(this.cost), this.item].join("</td><td>") + "</td></tr>");
        });
    }
});

1 个答案:

答案 0 :(得分:0)

检查您是否在要加载的页面上包含javascript文件quote.js。(在net tab或script选项卡下使用firefox的firebug addon来检查文件是否已加载)。您需要在布局中包含javascript。