“Helo wirld I am smol”

Learning Ruby On Rails: Day 6

Today, I learned about adding dynamic data to my “Hello World” app.

A Rails app, like any other web app, is associated with a URL. When someone points to the URL, they’re communicating with the application code.

Kewl.

I navigated to http://localhost:3000/say/hello and I saw the following:

Telling me where I can adjust its view! The view file was created when we created the controller earlier. So neat.

Then I made the app say a thing by navigating to the app/views/say/hello.html.erb file and adding simple HTML:

<h1> Hello from Rails! </h1>

When I refreshed the browser this happened:

Then, I added the time (the dynamic data) directly to the HTML.

Code that’s written between<%= %> is interpreted as Ruby code and executed. So, I did the following:

And the time plopped out onto the screen.

This worked, but I should really keep logic in the controller. I don’t want to make a big mess in the view if I end up building out the app. So, I moved the logic to the controller and saved Time.now() to a variable.

And, then reference that variable from the view.

And, it still worked!

Other stuff I learned:

  • .erb means Embedded Ruby or Ruby that is embedded into text/view files. It reminds me of JSX in React.
  • When we add code in development mode, we don’t have to restart the server. Rails dispatcher automatically reloads application source files when a new request comes along. This is like Nodemon in Node Land. In both cases, this feature should not be used in production.

Next post, here.