Nested Routes and Namespaced Controllers in Rails

Nested Routes and Namespaced Controllers in Rails

I see many project get nested routes wrong. Developers do not use Ruby modules to reflect the relationship between the parent and children nesting of controllers. Here is an example of the wrong way (IMHO). Let’s say we have a customer and the customer has_many orders and has_one profile. Some developers will represent it like this.

/customers path in the file app/controllers/customers_controller.rb

class CustomersController < ApplicationController
  def index
    ...
  end
end

Read More

Ruby on Rails CORS setup for Heroku with Passenger 5.0.28

Ruby on Rails CORS setup for Heroku with Passenger 5.0.28

If you are using cloudfront with Heroku, chances are you will encounter some problems if you are using something like font-awesome. I won’t go into the details of how to setup cloudfont, but your heroku passenger should have the following. First, read the Passenger Documentation for Nginx configuration template.

These are the correct steps:

1. Copy the default ngnix config

Do this in the root directory of your Rails application.

cp $(passenger-config about resourcesdir)/templates/standalone/config.erb config/passenger_config.erb

Read More

Find a Ruby hash key by value

Find a Ruby hash key by value

Let’s take a very simple Ruby hash with some US state abbreviations to their names

us_states = {
  'AK' => 'Alaska',
  'AL' => 'Alabama',
  'AR' => 'Arkansas',
  'AZ' => 'Arizona',
  'CA' => 'California',
  'CO' => 'Colorado',
  'CT' => 'Connecticut'
}

Read More