Giter Site home page Giter Site logo

js-rails-as-api-extracting-a-service-class's Issues

Suggestion for cleaner way to write @sighting.to_json

Hi! In this lab and the previous lab, there's a few mentions of how difficult it is to write/read the lab's @sighting.to_json call:

  @sighting.to_json(:include => {
    :bird => {:only => [:name, :species]},
    :location => {:only => [:latitude, :longitude]}
  }, :except => [:updated_at])

If I can, I'd like to suggest a cleaner way to write this:

  @sighting.to_json(
    include: {
      bird: { only: [ :name, :species ] },
      location: { only: [ :longitude, :latitude ] }
    },
    except: [ :updated_at ]
  )

typo in code

unnecessary , after :except => {...}...

this:

def to_serialized_json
options = {
include: {
bird: {
only: [:name, :species]
},
location: {
only: [:latitude, :longitude]
}
},
except: [:updated_at],
}
@sighting.to_json(options)
end

should be:

def to_serialized_json
options = {
:include => {
:bird => {
:only => [:name, :species]
},
:location => {
:only => [:latitude, :longitude]
}
},
:except => [:updated_at]
}
@sighting.to_json(options)
end

README leads to Ruby NameError: Uninitialized Constant

In app/controllers/sightings_controller.rb, I needed to include the line require "./services/sighting_serializer.rb" in order for Rails to read the code in app/services/sighting_serializer.rb. A NameError results if the require line is not included. I believe a student will encounter a Rails error if they follow the README exactly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.