1

私の問題

RoR アプリ内にインタラクティブなデータグリッド (Excel/Numbers など) が必要です。入れられるデータは、db-table-record を更新する必要があります。

いくつかの調査を行い、.xls(x) および .csv ファイルをインポートおよびエクスポートするための多くの Excel(/CSV) プロセッサを見つけました。最後に、JS、JQuery、および html に基づくデータ グリッド ビューを見つけました。ここに。これはまさに私が必要とするものです。唯一のことは、RoR 内で動作させることができないということです。

私が試したこと:

Application.html.erb
「Safari Inspector」でファイルパスを確認しました

<script src="assets/lib/jquery.min.js"></script>
<script src="assets/dist/jquery.handsontable.full.js"></script>
<link rel="stylesheet" media="screen" href="assets/dist/jquery.handsontable.full.css">

意見

%div#exampleGrid

%script
  var myData = [
  ["", "Kia", "Nissan", "Toyota", "Honda"],
  ["2008", 10, 11, 12, 13],
  ["2009", 20, 11, 14, 13],
  ["2010", 30, 15, 12, 13]
  ];

  $("#exampleGrid").handsontable({
  data: myData,
  startRows: 5,
  startCols: 5,
  minSpareCols: 1,
  //always keep at least 1 spare row at the right
  minSpareRows: 1,
  //always keep at least 1 spare row at the bottom,
  rowHeaders: true,
  colHeaders: true,
  contextMenu: true
  });​

Application.jsでも JS を試しましたが、うまくいきませんでした。

私が使用している:
Ruby: 1.9.3p194
Rails:3.2.8


誰かが私を正しい方向に向けることができますか/私を助けてくれますか?
私は何時間も試みてきましたが、それを機能させることができません。

同じhandsontableファイルを持つプレーンなindex.htmlは私にとってはうまくいきました。

4

2 に答える 2

3

正確に何が機能しないのかを特定し、エラー メッセージを提供していただけますか? テスト アプリでコードをコピーすると、エラーが発生Uncaught SyntaxError: Unexpected token ILLEGALします。これは、スクリプトに奇妙なシンボルが含まれているために発生しました。このコードを手動で再入力すると、すべて正常に機能します。これが私のファイルです(jquery.handsontable.full.jsはassets/javascriptsに配置し、jquery.handsontable.full.cssはassets/stylesheetsに配置します):application.js:

//= require jquery
//= require jquery_ujs
//= require jquery.handsontable.full

アプリケーション.css:

*= require_self
*= require jquery.handsontable.full

index.html.erb:

<div id="exampleGrid"></div>
<script type="text/javascript">
var myData = [
   ["", "Kia", "Nissan", "Toyota", "Honda"],
   ["2008", 10, 11, 12, 13],
   ["2009", 20, 11, 14, 13],
   ["2010", 30, 15, 12, 13]
   ];

   $("#exampleGrid").handsontable({
   data: myData,
   startRows: 5,
   startCols: 5,
   minSpareCols: 1,
   //always keep at least 1 spare row at the right
   minSpareRows: 1,
   //always keep at least 1 spare row at the bottom,
   rowHeaders: true,
   colHeaders: true,
   contextMenu: true
   });
  </script>
于 2013-01-10T19:22:23.933 に答える
0

私はある時点で似たようなものを探していて、最終的にバックボーン gemとして自分自身を書きました。私は本番環境で使用していますが、管理セクションのみで使用しています。まだ少しベータ版です...

簡単に言うと、すでにバックボーンに精通していて、柔軟性が必要な場合は、それが良いスタートになる可能性があります。あなたが探している答えではありませんが、それでも代替案です。

于 2013-01-14T21:43:36.347 に答える