3

我想使用 Fuel UX 数据网格来显示我从数据库中检索的一些数据。该页面由 ruby​​ on rails 服务器提供。

用于构建数据对象的 javascript 示例代码:

        var dataSource = new StaticDataSource({
            columns: [{
                property: 'toponymName',
                label: 'Name',
                sortable: true
            }, {
                property: 'countrycode',
                label: 'Country',
                sortable: true
            }, {
                property: 'population',
                label: 'Population',
                sortable: true
            }, {
                property: 'fcodeName',
                label: 'Type',
                sortable: true
            }],
            data: sampleData.geonames,
            delay: 250
        });

        $('#MyGrid').datagrid({
            dataSource: dataSource,
            stretchHeight: true
        });

        $('#datagrid-reload').on('click', function () {
            $('#MyGrid').datagrid('reload');
        });

如果我理解代码,我将在 dataSource 变量内的列对象中定义我的列和一些属性,并且数据对象由 sampleData.geonames 加载。

样本数据在这里

我可以使用 rails 约定替换 sampleData.geonames 做什么?我尝试调整这几种方法来将 rails 对象加载到这里。

例如,我修改了列的属性字段以对应于我的用户模型的一些属性。我尝试更换

data: sampleData.geonames,

data: <%= @users.to_json %>,

我对 gems 和版本有点限制,目前使用的是 Rails 2.3。

谢谢你的帮助。

4

1 回答 1

1

如果您希望数据网格发出后台 AJAX 请求以从您的应用程序加载数据,请参阅本教程,这将更接近您的需要:

http://dailyjs.com/2012/10/29/fuel-ux

这样做的好处是立即加载页面,然后异步加载数据。

如果您宁愿坚持使用 StaticDataSource 方法,只需在您的页面上嵌入一个类似于以下内容的小脚本:

<script>
  var myData = { ... };
</script>

然后,加载它:

var dataSource = new StaticDataSource({
  columns: [ ... ],
  data: myData,
  delay: 250
});
于 2013-02-14T21:14:04.787 回答