레일스로 코딩 배우기

나는 루비가 코딩을 배우기에 좋은 출발점이라고 생각한다
Learn To Program 이라는 책을 읽어보라 https://pine.fm/LearnToProgram/

물론 어느 programming language 로 시작하든지 코딩을 배우는 것은 인생에서 매우 중요하다고 생각한다

그리고 루비를 배우기에는 레일스가 좋은 출발점이라고 생각한다
지금 시작해보자

rails new app_name
cd app_name

레일스의 기본은 scaffolding 이다 (한국말로는 “비계"라고 함) 그러므로 한번 따라가보자

rails generate migration create_cups name size
rails db:migrate

cups 는 여기서 테이블의 이름이다
테이블은 데이타베이스를 배울 때 나오는 말이다

그리고

class Cup < ApplicationRecord
end

이렇게 하고

class CupsController < ApplicationController
  def index
    @cups = Cup.all
  end
end

이렇게 하고

resources :cups

이렇게 하고

<% @cups.each do |cup| %>
  <%= cup.name %>
  <%= cup.size %>
<% end %>

이렇게 하면 화면에 컵의 목록을 볼수가 있다
물론 (중요하지 않은) 많은 것을 생략하였다

중요한 것은 @cups 가 컵의 목록을 가지고 넘어간다는 것이다
그래서 instance variable 이라고 한다

잘 생각해보자
데이타베이스의 테이블이 가지고 있는 컵의 목록이 브라우저 화면으로 나오게 하는 것이 이와 같은 패턴으로 이루어진다는 것을

이것이 레일스의 기본이다

생략한 것 중에서 코드가 들어가는 자리는 다음과 같이 확인할 수 있다
이와 같이 시작해서

rails new app_name
cd app_name

generate migration create_cups 대신에 generate scaffold cups 한다

rails generate scaffold cups name size
rails db:migrate

그리고 나서 다음의 파일을 열어서 코드를 확인해 보자
app/models/cup.rb
app/controllers/cups_controller.rb
config/routes.rb
app/views/cups/index.html.erb

레일스가 좋은 출발점이라고 한 것은 개인적인 생각인데, 다만 적은 루비 코드로 뭔가 쓸모있는 것을 만들어 내는 데서 재미를 느낄 수 있고 또한 차차 적응해 가면서 그 아래에 있는 코드를 이해하고 싶은 생각이 들 수도 있기 때문이다.

그러면 결국 plain Ruby 의 기본을 익히는 단계로 가는데, 거기에는 여러가지 방법이 있지만 그때 나는 Learn To Program 이라는 책을 읽었다 (한국어 번역본도 있음) https://pine.fm/LearnToProgram/

그리고 Ruby 와 Ruby on Rails (레일스) 를 설치하는 방법은 찾아보면 얼마든지 있다 예를 들면 https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-macos

문의사항은 lee@kangkyu.com 으로

 
0
Kudos
 
0
Kudos

Now read this

minitest setup - Ruby on Rails

I now do testing in Minitest. I came to think it’s better choice to start with minitest for testing Rails. And I thought it would make more sense when I stay out of Minitest::Spec. my-experience-with-minitest-and-rspec by tenderlove... Continue →