How to build a complete, real-world application from scratch with Ruby on Rails step by step.
A lot of Ruby code is "magic". We'll explain the magic and see how it works using the powerful tools Ruby gives us.
Accept subscription and one-time payments with Stripe in your Rails apps
Expert advice on keeping Rails apps organized and fast.
Cheap, easy hosting for Ruby and Rails apps.
Launch your product business way faster with our SaaS template.
A weekly podcast on web development and building products with Ruby, Rails, Javascript, and more.
A few of the Open Source projects we do at GoRails.
Build a Ruby on Rails app in 48 hours with us.
Help Junior developers get hired by sharing small projects to build their resume with paid work.
Find your next Ruby on Rails Job.
Pagy is 29x faster at pagination in their benchmarks which makes it an ultra fast and lightweight pagination library
How to build nested comments and threads in Ruby on Rails
Implementing polymorphic, reusable comments across models and limiting the nesting allowed for nested comment threads
Using AJAX, we can submit our comments and have them render onto the page without a page refresh.
Nested comment threads pose a lot of unique challenges. One of these is deleting comments because you can easily lose the child comments or context. We'll take a look at a couple great ways of handling this.
Adding pagination to our nested comment threads is easier than you might think, plus we'll take a look at a couple different approaches we can use
Deciding whether or not to have separate first and last name fields gets a bit confusing. Basecamp's recently released name_of_person gem shows you exactly how to handle this reliably and also stands as a fantastic example of how to build a concern
Learn how to implement a Slack Slash Command App in Rails using webhooks
Learn how to add sidebar search filters like Amazon.com using ElasticSearch's aggregations in Searchkick
Learn how to link to the current page and add, remove, or modify params in the URL. This is handy for things like search or index pages with filters.
Starting our Embeddable JS Widget series outlining the comment and discussion models and the basic webpacker setup
Adding user avatars is pretty easy using Rails' ActiveStorage feature. We'll be using Devise in this example, but this applies to any user authentication system.
The next step in our embeddable javascript widget series is setting up our Vue frontend to talk with our Rails backend using Vuex
Embeddable Javascript Widgets often contain forms. We're using Vuex to build our comment form widget and we're going to use vue-map-fields to make this easier.
Cross-origin Resource Sharing (CORS) allows your website to talk to other websites.
We don't want anyone to be able to embed your Javascript widget on any domain, so we'll setup our app to check the domain and only allow the widget on specific sites
We can use webpacker to create scoped styles for our Javascript widget and build an embed code that links to the latest version of our webpacker JS and CSS for our embeddable widget.
Learn how to enable the experimental new Just-in-time compiler for Ruby 2.6
Security in production is important. We can use Fail2ban and NGINX to block malicious users from accessing our server and apps.
Linux server administration can be a pain. You can use cockpit to monitor your servers and keep an eye on long running processes like Sidekiq and Puma without having to SSH into your servers.
Join 87,563+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.