在我的 Rails 应用程序中使用 jQuery 数据表时出错
using jquery datatables in my rails app getting error
我看了这个轨道。
使用它作为模板,我在我的 rails 应用程序中使用数据表、引导程序will_paginate。
我的模型称为"演示"这是代码:
应用.js
...............
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require turbolinks
//= require dataTables/jquery.dataTables
//= require_tree .
演示.js.咖啡
jQuery ->
$("#demos").dataTable
sPaginationType: "full_numbers"
bJQueryUI: true
bProcessing: true
bServerSide: true
sAjaxSource: $('#demos').data('source')
我在项目中添加了一个名为"ModelDatatables"的类,以便允许任何模型在其视图中使用该数据表。 类模型数据表 delegate :p arams, :link_to, :to => :@view attr_accessor :model_name, :型号
def initialize(view, model_name)
puts "nitializing Model Datatables with modelname = #{model_name}"
@view = view
@model_name = model_name
end
def as_json(options = {})
{
sEcho: params[:sEcho].to_i, #variable needed by Datatables server
iTotalRecords: @model_name.count, #variable needed by Datatables server
iTotalDisplayRecords: models.total_entries,
aaData: data
}
end
private #====================================================================
def data
models.map do |m|
[
link_to(m.name, m)
]
end
end
def models
@models ||= fetch_models
end
def fetch_models
mod_instance = @model_name.order("#{sort_column} #{sort_direction}")
mod_instance = mod_instance.page(page).per_page(per_page)
if params[:sSearch].present?
mod_instance = mod_instance.where("name like :search or category like :search",
search: "%#{params[:sSearch]}%")
end
mod_instance
end
def page
params[:iDisplayStart].to_i/per_page + 1
end
def per_page
params[:iDisplayLength].to_i > 0 ? params[:iDisplayLength].to_i : 10
end
def sort_column
att_array = @model_name.attribute_names.to_a
columns = att_array
columns[params[:iSortCol_0].to_i]
end
def sort_direction
params[:sSortDir_0] == "desc" ? "desc" : "asc"
end
end
在我的控制器中,我试图像这样使用数据表类Demo_controller.rb
def index
respond_to do |format|
format.html
format.json { render json: ModelsDatatable.new(view_context, Demo ) }
end
end
视图:
demos/index.html.erb
<%- model_class = Demo -%>
<div class="page-header">
<h1><%=t '.title', :default => model_class.model_name.human.pluralize.titleize %></h1>
</div>
<table class="table table-striped display" id="demos" data-source="<%= demos_url(format: "json") %>" >
<thead>
<tr>
.......
</thead>
<tbody>
.......
</tbody>
</table>
当我在浏览器上运行它时。我收到此错误:
SyntaxError: unexpected {
(in /Users/Xxxxxx/Desktop/xxxxxxxxx/app/assets/javascripts/demos.js.coffee)
Extracted source (around line #37):
<%= javascript_include_tag "application" %>
app/views/layouts/application.html.erb:37:in
`_app_views_layouts_application_html_erb__2549661732362878565_70299008379240'
app/controllers/demos_controller.rb:8:in `index'
不知道下一步该怎么做。有人可以帮忙吗?
谢谢
好吧,
看起来你有一个
语法错误:意外的 {
请务必在demo.js.coffee中检查空格,我刚刚编辑了您的问题,假设您复制粘贴,则混合了空格和制表符。
相关文章:
- 用程序搜索JQuery数据表中的文本
- jquery数据表的自定义ko绑定
- jquery数据表在初始化时设置宽度
- 如何通过下拉值更改来更改jquery数据表的值
- 来自应用程序状态的Jquery数据表源
- 如何根据某些条件向可编辑的jquery数据表添加或删除按钮
- 如何在不使用TableTool的情况下从jquery数据表中获取选定的行索引
- Jquery 数据表选择位于第 1 页以外的其他页上的行
- jQuery 数据表 在页面上导航时,在分页表上重置行的数据
- 如果我在页面之间移动,Jquery 数据表行事件会卡住
- 引导程序 3 折叠面板中的 Jquery 数据表响应插件
- 为什么不允许在jquery数据表服务器端处理ajax中使用成功
- 对 jQuery 数据表中的所有选定行求和
- 使用jquery数据表,我可以't在不破坏FixedHead的情况下生成单元格colspan=3
- 扩展详细信息Jquery数据表的持久性
- jquery数据表显示/隐藏列添加了错误的选择
- 如何暂停和重新启动jquery数据表插件
- jquery数据表滚动条定位
- Jquery 数据表 序列化程序之后 ASP.NET 日期格式
- 具有三色行的Jquery数据表