如何在 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
我是新手,正在学习基础知识,但突然间我必须使用 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