Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I'm new and I'm learning the basics but suddenly I have to display all the data from postgresql, using rails, in json format that is deployed to heroku.

My goal is to connect vb.net to rails before connecting to the database. Please help me. I am new in this field.

As of now, I tried to run my codes in localhost trying to display data from sqlite to localhost:3000/employees in json format.

I have this code in my 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

and this is my code in 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>

and this is in my 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

when i run the program, i receive this error message ActionController::UnknownFormat in EmployeesController#index

Extracted source (around line #9):

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

specifically this part: respond_with(@employees) do |format| app/controllers/employees_controller.rb:9:in `index'

share|improve this question

2 Answers 2

I'm using Rabl to generate JSON. It's easy to use and highly reusable. I think it's good to start with good tools. It will make your code cleaner and easier to maintain.

You could have something like that:

#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
share|improve this answer
up vote 1 down vote accepted

I just used this and it went just fine

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

providing that gem 'jbuilder', '~> 2.0' is in the gemfile

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.