nested select dropdown example

When working on a project for a client, I was asked to build a dropdown menu that could display a list of filters and their children and perform a search upon select. I figured Material UI would have something useful, but unfortunately there wasn’t a solid example of what I needed to accomplish. So, I built what I needed using a combination of Material UI components! It was not the easiest, but I managed to build a dropdown that displays the nested list dynamically, so that it will work regardless of how many lists and sub-lists are needed. …

Rails allows you to add validations to any of your models. Rails comes with a built in set of validations you can learn more about here. But wait! What if you don’t want to use them, or have a use case where you need to write a custom validation? Fear not, this guide will show you how.

Model: Method

You will want to start by writing your validation method in the model you want to validate. Name it descriptively in keeping with best practices. You can write whatever you need to inside the method. For my use case, I needed to validate…

Rails 6 allows you to create applications that send automated emails using its Action Mailer feature. In order to use this feature, you need to allow your app to communicate with your remote email server via the SMTP protocol. In simple terms, SMTP is a protocol for handling the treatment and formatting of data relayed between a client and a server. SMTP servers usually call for authentication of clients through credentials before allowing access, so you’ll need to code these settings into your environment files before your mailers will function. …

A quick-start guide for setting and accessing credentials for Rails environments

Rails Credentials: What are they, and why use them?

Rails provides a way to store sensitive information (passwords, API keys, etc).by using an encrypted YAML file (config/credentials.yml.enc). Also, new to Rails 6 is the ability to store credentials for various environments. This guide will quickly explain how to encrypt and read sensitive environment variables in your code. I prefer this method to using a gem such as dotENV, as I find it easier to use with all environments and verify that the credentials are accessible through the rails console. …

acts-as-taggable-on setup from

I recently adapted an open-source Rails application to connect volunteers to volunteer opportunities for a non-profit contract. The app uses the gem “acts-as-taggable-on”, and I had to learn how to configure it for our purposes, and I even ended up adding further functionality to the app using the gem, so I figured I would write about my experiences and give a brief description of how it works.


Initial setup is pretty easy! After adding the gem to your gemfile and running ‘bundle install’, you need to install the migrations that come packaged with the gem by running the command:

‘rake… deploy description

I recently had to navigate deploying a Rails 6 app to DigitalOcean for a contract, and as a relatively new developer, there were a few things that didn’t come intuitively or that weren’t mentioned in the documentation that I felt could use a little explaining. At Flatiron, I deployed my final project using Heroku + Netlify, but that was a Rails API back-end with a separate repository for a React front-end. I didn’t think things would be too different for a Rails-only app, but it wasn’t as simple as I had though it would be. …

Read part one of this series here, and part two here

So we’ve made an app, and it looks like crap. SQL statements everywhere, ugly blocks of text, no color… it definitely doesn’t feel like an actual application, even though it runs like one. Let’s talk about how I took this app from SAD to RAD.

No more dad-rhymes after this point, I promise.

Styling With Gems

I admit it, I kind of went a little crazy with the gems. It isn’t a good idea to use a ton of gems in your app because they can have many dependencies and aren’t always…

Read part one of this series here

We left off having just created our database, so where do we go from here? For me, as a new coder with very little experience, I still wasn’t entirely sure of how to make a program actually run, despite having a beginner’s understanding at that point of OOP (object-oriented programming) and the way that models interact through their relationships. It took a bit of research and studying other Ruby CLI applications to gain the understanding that functions are what make the program, well, function.

“A function is a block of organized, reusable code…

For our Module 1 project at Flatiron School, we were tasked with creating a CLI application using object-oriented programming in Ruby. For those unfamiliar with programmer-speak, a CLI application is a command-line interface application. This means that all user interaction with the app is done via the command-line in the user’s terminal, and all interactions consist of either text input or keystrokes; there is no GUI (graphical user interface) with interactive visual components that allow the user to click on icons or other graphics to navigate and interact with the application.

The idea of a text and keystroke based application…

Allene Norton

Full stack developer and Flatiron graduate who recently made the jump from a career as a professional musician and audio engineer | Austin, TX

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store