planTKD

子育てエンジニアの子育て・仕事・Webのはなし

Ruby on Railsチートシート

私的メモです。

参考:小学生でもわかるRuby on Rails入門

導入

gem install rails

railsアプリ作成

rails new projyect-name

controllerの作成

  • ユーザーの一覧とプロフィールページの作成

rails g controller users index show

app/controllers/users_controller.rb
app/views/users/index.html.erb
app/views/users/show.html.erb

サーバー立ち上げ

rails s

  • 下記にアクセス

http://0.0.0.0:3000/users/index http://0.0.0.0:3000/users/show

ビュー

app/views/users/show.html.erb

<h1><%= @user[:name] %></h1>
<p><%= @user[:username] %></p>
<ul>
  <li>Location : <%= @user[:location] %></li>
  <li>About    : <%= @user[:about] %></li>
</ul>

コントローラー

app/views/users/show.html.erb

def show
  @user = User.find_by(:username => params[:username])
end

ルーティング

config/routes.rb

ProjyectName::Application.routes.draw do
  get "users/index"
  get "users/show/:username" => "users#show"
  ...
end

データベース

  • データベースの作成

rake db:create

  • モデルの作成

rails g model user name:string username:string location:string about:text

  • データベースにモデルの反映

rake db:migrate

  • 初期データを設定 db/seeds.rb
@user = User.new
@user.name = 'Ryo Suzuki'
@user.username = 'ryooopan'
@user.location = 'Kanagawa, Japan'
@user.about = 'Hello, I am Ryo. I am from database!'
@user.save

@user = User.new
@user.name = 'Shohei Aoki'
@user.username = 'moyahima'
@user.location = 'Tottori, Japan'
@user.about = 'Nice to meet you. I am from database!'
@user.save