Other Pages

intro-to-rails.step

message <<-MARKDOWN
### Goal

To learn  Ruby on Rails we are going to use a "Real World"
example: a voting system for you and your
friends to play with. Users of the app will be able to

* view the topics
* vote on topics
* create, edit, and destroy topics

Here's a screenshot of what it will look like:

![Browser window with topic titles that can be voted on](img/topic_list_as_list.png)

### Meta-Goal

When you have completed today's goal of getting the basic
application online you should understand:

* Basic Ruby syntax
* How to try out Ruby and Rails code (rails console)
* How to go from requirements to a new working Rails application
* The basic tools a RoR (Ruby on Rails) developer uses (editor, git)


### Requirements

We're going to be working with:

* Ruby 3.3 or greater
* Rails 7.2.1  (the last number is not important)
* Bundler
* SQLite

Please ensure you have everything working _before_ you start.

### Format

Each lesson will look like this:

<div style="background: white; border: 1px solid black; padding-left: 4em;">
  <h1 class="doc_title" style="margin-top: 0em;">Step Title</h1>
  <div class="goals">
    <h1>Goal:</h1>
    <p>Description of the current step.
    <p>Red because big goals are important.
  </div>
  <div class="steps">
    <h1>Steps:</h1>
    <pre class="term">steps to take.</pre>
    <div class="console">
      <pre>
def code_to_write
  1 + 1
end</pre>
    </div>
    <p>Yellow because we've gotten it done, but we're not sure yet what's going on.
  </div>
  <div class="explanation">
    <h1>Explanation</h1>
    <p>Details of what the steps actually did, explaining the cause and effect.
    <p>Green because we can tie everything together now.
  </div>
</div>
MARKDOWN

next_step "getting_started"