如何在 rails 中显示 json 格式从 postgresql 检索数据?

How to display json format in rails retrieving data from postgresql?

我是新手,正在学习基础知识,但突然间我必须使用 rails[显示来自 postgresql 的所有数据=51=],以 json 格式部署到 heroku.

我的目标是在连接到数据库之前将vb.net连接到rails。 请帮我。我是这个领域的新手。

截至目前,我尝试 运行 我在本地主机中的代码试图将数据从 sqlite 显示到 localhost:3000/employees json 格式。

我的 Employee Controller

中有此代码
class EmployeesController < ApplicationController

 respond_to :json
 def index
   @employees = Employee.all
   respond_with(@employees) do |format|
   format.json { render :json => @employees.to_json(:only => [:fname, :mname, :lname]) }
  end
 end

 def show
   @employee = Employee.find(params[:id])
 end

 def new
   @employee = Employee.new
 end

 def create
   @employee = Employee.new(employee_params)

   @employee.save
   redirect_to @employee
 end

 private
 def employee_params
   params.require(:employee).permit(:fname, :mname, :lname)
 end
end

这是我在 app/views/employees/index

中的代码
  <% @employees.each do |employee| %>
  <tr>
    <td><%= employee.fname %></td>
    <td></td><td></td>
    <td><%= employee.mname %></td>
    <td></td><td></td>
    <td><%= employee.lname %></td>
  </tr>

这是我的 gemfile

source 'http://rubygems.org'

gem 'rails', '4.1.8'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0',          group: :doc
gem 'tzinfo-data', platforms: [:mingw, :mswin]

group :development, :test do
  gem 'sqlite3'
  gem 'byebug',      '3.4.0'
  #gem 'web-console', '2.0.0.beta3'
  gem 'spring',      '1.1.3'
end

group :test do
  gem 'minitest-reporters', '1.0.5'
  gem 'mini_backtrace',     '0.1.3'
  gem 'guard-minitest',     '2.3.1'
end

group :production do
  gem 'pg',             '0.17.1'
  gem 'rails_12factor', '0.0.2'
end

当我 运行 程序时,我收到此错误消息 EmployeesController 中的 ActionController::UnknownFormat#index

提取的源代码(第 9 行附近):

def index
  @employees = Employee.all
  respond_with(@employees) do |format|
    format.json { render :json => @employees.to_json(:only => [:fname, :mname, :lname]) }
  end
end

特别是这部分:respond_with(@employees) do |format| app/controllers/employees_controller.rb:9:在“索引”中

我正在使用 Rabl 生成 JSON。它易于使用且高度可重用。我认为从好的工具开始是很好的。它将使您的代码更清晰,更易于维护。

你可以有这样的东西:

#EmployeesController
def index
   @employees = Employee.all
   respond_with(@employees) do |format|
   format.json { render template: "api/employees/index"}
  end
end

#app/views/api/employees/index.json.rabl
object @employees
extends 'api/employees/show'

#app/views/api/employees/show.json.rabl
object @employee
attributes :fname, :mname, :lname

我刚用过这个,效果很好

 def index
    render json: @employees = Employee.all
 end

假设 gem 'jbuilder', '~> 2.0' 在 gemfile