Ruby on Rails学習記録1

アプリ作成
$rails new アプリ名
サーバー起動
$rails sever(省略可:s)

ルーティング・コントローラー・ビュー

内容 詳細
routing ブラウザ(URL)とコントローラを繋ぐ役割
controller ビューをブラウザに返す
view ページの「見た目」を作るためのHTMLファイル
コントローラー作成
$rails generate(省略可:g) controller コントローラ名 アクション名
# 同じ名前のコントローラがすでにある場合は、このコマンドを使うことはできない

# rails g コマンドが反応しない場合
$spring stop
アクション:コントローラ内のメソッド

アクションはブラウザに返すビューをviewsフォルダの中から見つけ出す。

class HomeController < ApplicationController
  def top 
  end
end
each文:配列の中身を1つずつ取り出す
<% 
  posts = [
  "hello Ruby1",
  "hello Rails2"
  ]
%>

<%= posts.each do |post| %>
<%= post %>
<% end %>
アクションは変数指定可能。

@変数名でアクションで定義した変数をビューに表示可能。
※@はつけ忘れないようにする。

class PostsController < ApplicationController
  def index
    @posts = [
    "hello Ruby",
    "hello Rails"
    ]
  end
end

# ビューの中身
<% @posts.each do |post| %>
<%= post %>
<% end %>
ルーティングの作成
get "URL" => "コントローラー名#アクション名"
get "home/top" => "home#top"

# ルーティングのURLは対応するアクションがあれば変更可能。
get "home/top" => "home#top"
get "top" => "home#top"
get "/"   => "home#top"

# ルーティングで設定したURLは、ビューファイルのリンク指定で利用可能
get "/"   => "home#top"
<a href="/">TOP</a>
get "about" => "home#about"
<a href="/about">ABOUT</a>


erbファイル:Embedded Ruby(埋め込みRuby)の略
内容 詳細
<% %> Rubyコードの記述可能。ビュー表示不可。
<%= %> Rubyコードの記述可能。ビュー表示可。
<% post1 = "hello Ruby" %>
<% post2 = "hello Rails" %>

<%= post1 %>
> hello Ruby
<%= post2 %>
> hello Rails