2013-10-09 4 views
0

Я пытаюсь выполнить руководство по Railscasts 340, чтобы заполнить компонент JQuery Datatables из данных JSON на стороне сервера. Ссылка на учебник: http://railscasts.com/episodes/340-datatables. Я настраиваю код для работы с моей собственной таблицей базы данных и данными.Rails: Datatables Ошибка JSON

При попытке посетить ссылку, которая должна выводить JSON в DataTable, я получаю следующее сообщение об ошибке:

not opened for reading 

код в контроллер, который обрабатывает запрос выглядит следующим образом:

class DatadescriptionController < ApplicationController 
layout "datadescription" 

def index 
respond_to do |format| 
     format.html 
     format.json { render json: DatasetIndexDatatable.new(view_context) } 
    end 
    end 
end 

и DatasetIndexDatatable класс, который конкретизируется в команде format.json выглядит следующим образом:

class DatasetIndexDatatable 
    delegate :params, :h, :link_to, :number_to_currency, to: :@view 

    def initialize(view) 
    @view = view 
    end 

    def as_json(options = {}) 
    { 
    sEcho: params[:sEcho].to_i, 
    iTotalRecords: Datadescription.count, 
    iTotalDisplayRecords: datasets.total_entries, 
    aaData: data 
    } 
end 

private 

def data 
datasets.map do |dataset| 
    [ 
    id, 
    database, 
    table, 
    created_by, 
    name 
    ] 
    end 
end 

def datasets 
    @datasets ||= fetch_datasets 
end 

def fetch_datasets 
    datasets = Datadescription.order("#{sort_column} #{sort_direction}") 
    datasets = datasets.page(page).per_page(per_page) 
    if params[:sSearch].present? 
    datasets = datasets.where("name like :search or created_by like :search", search: "%# {params[:sSearch]}%") 
end 
datasets 
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 
    columns = %w[id database table created_by name] 
    columns[params[:iSortCol_0].to_i] 
end 

def sort_direction 
    params[:sSortDir_0] == "desc" ? "desc" : "asc" 
end 

end 

Может ли кто-нибудь пролить свет на то, что это означает «не открытое для чтения», и как я могу исправить свой код для вывода json, как предполагалось?

ответ

0

У меня есть проблема. Версия кода, который был запущен, не был кодом, который я опубликовал из-за ошибки сохранения.

Смежные вопросы