如何从Rails向Fuel UX数据网格提供数据?

时间:2013-02-14 20:52:32

标签: javascript ruby-on-rails fuelux

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

用于构建数据对象的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变量的columns对象中定义我的列和一些属性,而dataData.geonames正在加载数据对象。

sampleData为here

使用rails约定替换sampleData.geonames可以做些什么?我试着通过几种方法来调整这里的rails对象。

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

data: sampleData.geonames,

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

我对gems和版本有一点限制,目前正在使用Rails 2.3。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

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

这样可以立即加载页面,然后异步加载数据。

如果您更愿意坚持使用StaticDataSource方法,只需在页面上嵌入一个类似于此的小脚本:

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

然后,加载:

var dataSource = new StaticDataSource({
  columns: [ ... ],
  data: myData,
  delay: 250
});