2011-07-14 6 views
0

Javascriptでコードを修正しようとしています。私のアプリケーションはRubyのレールとJavascriptで書かれています。それはHerokuで実行されます。私はNotepadd ++のすべてを修正しています。それを保存し、英雄に押し込んで結果を確認します。RubyでのJavascriptの使用とコードの編集

Javascriptで何かを変更したいときに問題が発生します。 quote.jsというファイルを変更していますが、何かを変更しても何も起こりません。下に、変更しようとしているコードが表示されます。私はこの場合、労働集計表からitemsという列を取り出して、変数destから削除して、作業要約のコメントに入れました。

私がここで行った変更は、アプリケーション全体に影響を与えていないようです。間違ったファイルを修正していますか?

これはRubyレールのjavascriptコードを変更する正しい方法ですか?

ありがとうございました。あなたがロードしようとしているページ上のJavaScriptファイルquote.jsを含めている場合

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>"); 
     }); 
    } 
}); 
+0

JavaまたはJavaScript?彼らはまったく同じものではありません。 – DGM

+0

はあなたのレイアウトに実際に含まれているquote.jsですか? – Nick

+0

申し訳ありません。すべてがjavascriptです。 Quote.jsはpublic \ javascripts \ modules \にあります。レイアウトに参照が表示されません –

答えて

0

チェック。(ファイルがロードされているかどうか、ネットタブまたはスクリプト]タブの下のFirefox用使用放火犯のアドオンはチェックします)。レイアウトにjavascriptを含める必要があります。

+0

レイアウトにjavoteファイルを含めて、quote.jsをロードしてください。 –

+0

Hello Jawad。これは、base_package.jsと呼ばれるものをロードしているようです。実際のquote.jsを変更すると、このファイルは更新されていないようです。私がメモ帳++で編集している場合、どうすれば変更できますか?このファイルは読み込みと編集が非常に複雑です。ありがとう。 –

+0

アプリケーションのapp/views/layoutsフォルダに移動し、headセクションのapplication.html.erbファイルでquote.jsをインクルードする必要があります。これを行うには、headセクションに<%= javascript_include_tag "main"%>を追加します。あなたのページがあなたのjsをロードするたびにこの方法でロードされ、あなたはページ上のjavascriptに関連する変更を見ることができます。 –

関連する問題