�3�

Hello, world!
������Ruby on Rails �������������������
������� Web �������������� SimpleGreeter�������Hello, world!����������������������
�������������������������������3.1 ����������Rails �����������SimpleGreeter���� Web �������������������� Rails ���������������
��������������� projects ���������������������✓✏OIAX BOOKS ��Ruby on Rails 5.0 �����������������������✒✑������������������

�������������������������
$ mkdir -p ~/projects������������������� ruby ������� 2.3.1 ��15� 3 � Hello, world!
���$ cd ~/projects$ rbenv local 2.3.1

���� ruby ���������������
$ ruby -v

�������������� OS ����������1 ��� OS X ��
��2 ��� Ubuntu �����
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]�������������������
$ rails -v

������������� OK ���
Rails 5.0.0

5.0.0 ��������������������������������
���������������������� Rails 5.0 ���������
�����$ gem install rails -v 5.0

3.2 Rails ��������������SimpleGreeter �������������� rails �������new � Rails �������������16

3.2 Rails �����������✓✏�� rails new �����������������������������������
��� Gem ������������������������ -B ��� --skip-bundle������������������������������������������✒✑�������������

$ rails new simple_greeter -B

�� simple_greeter � Rails ��������������������������������������������������������
��������������
���������������������

�

createcreatecreatecreateREADME.md
Rakefile
config.ru

createcreateremovevendor/assets/stylesheets
vendor/assets/stylesheets/.keep
config/initializers/cors.rb����������� simple_greeter �����bundle �����������
$ cd simple_greeter$ bundle���������������������
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching dependency metadata from https://rubygems.org/
Resolving dependencies......
Using rake 11.2.2
�Using rails 5.0.0
Using sass-rails 5.0.6
Bundle complete! 15 Gemfile dependencies, 63 gems now installed.

17� 3 � Hello, world!
Use `bundle show [gemname]` to see where a bundled gem is installed.

��������������� IDE ������������������✓✏���������������� IDE �����������������������✒�������Atom ��������������� atom . ��������������✑3.3 ���������������
Rails ������������������������������route�������✓✏���Rails ����route�������������������������������
�������������������������������������������������Ruby on Rails 5.0 ��������������������������
���������������root�����������route���routing������
������������������������������������������✒�����������������������✑� � � � � � � � � � � � � � � � � � �� � � � � � � � �

config/routes.rb �������������������������

18

3.3 ����������

LIST

config/routes.rb

1

Rails.application.routes.draw do

2# For details on the DSL available within this file, see http://guides >.rubyonrails.org/routing.html

3end����������������������
LIST

config/routes.rb

1

Rails.application.routes.draw do

2 -# For details on the DSL available within this file, see http://guides >.rubyonrails.org/routing.html

2 +3

get 'hello' => 'hello#show'end��������’hello’ � ’hello#show’ ���������������������������������������

����������������action� ����������������������
����controller� ����������������������������������

app/controllers ��������������� hello_controller.rb����������������������������
LIST

1
2
3
4

app/controllers/hello_controller.rb (New)class HelloController < ApplicationController
def showendend�����������������������������������
�����1 ������ Hello � 2 ������ show ���������19� 3 � Hello, world!
�����������������������2�3 ��������������������

���������
�����������template� �������������������
�����������HTML ���������
���app/views ��������� hello ������������������
$ mkdir -p app/views/hello������������� app/views/hello ��������������� show.html.erb �������������������LIST

1

app/views/hello/show.html.erb (New)<p>Hello, world!</p>�������� hello������� show ����������������������
�������������Hello, world!���������������

Rails ����������������������������������
$ rails s����������������������
=> Booting Puma=> Rails 5.0.0 application starting in development on http://localhost: >3000=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity203.3 ����������
* Min threads: 5, max threads: 5* Environment: development* Listening on tcp://localhost:3000
Use Ctrl-C to stop������ Listening on tcp://localhost:3000 ��������Rails���������������������������������Rails����������������� Ctrl ��� C ������������

✓✏��� 1 ����Puma�������������Rails 4.2 �������WEBrick�����������WEBrick � Web ������������ ruby ����������
�� Web �������������������Puma ���������������
��� Web �������Rails 5.0 ����������������� Web �����✒✑Puma �������������������
������������ http://localhost:3000/hello ����� Enter����������������������� � 3.1 ����������✓✏��������������������� http:// ��������URL������
������� http:// ������������������� 3.1 ���������

✒localhost:3000/hello ����������21✑

� 3 � Hello, world!

� 3.1

�Hello, world!���������

������������
�����������������������������������
������������������������������������
����������
<!DOCTYPE html><html><head><title>SimpleGreeter</title><meta name="csrf-param" content="authenticity_token" />�</head><body><p>Hello, world!</p></body></html>22

3.3 ����������
����Rails ����������������������HTML ������������������� HTML ���HTML document� ������HTML ����� � 5 � �������23

� 15 ��������Web ��������������������������Web ������������������������������������������������

15.1

img ��HTML ������image�������� img �������������� src ����������� URL ��alt ����������alternativetext� ���������������������������������������������������������������������
���������������

HTML ���� PNG�JPEG�GIF�SVG ��� 4 �����������������������������������png�jpeg�gif�svg
�����������������������������JPEG ������������� jpg �������������������������������

PNG ������� 1,677 �������������������
JPEG ������� 1,677 ����������������GIF

�� 256 ������������������������������

119

� 15 � ��

SVG "Scalable Vector Graphics" �������������������������������������NASA������������������ img ���������<img src="https://www.oiax.jp/books/files/nasa_earth.jpg" alt="�����">img ��� width ��� height �������������������������������������������������������������100���������������
<img src="https://www.oiax.jp/books/files/nasa_earth.jpg" alt="�����"width="240" height="240">

15.2

image_tag ����Rails ���������������img �������������
image_tag ��������� img ����������������������������������� app/assets/images ����������������������������������
$ wget https://www.oiax.jp/books/files/robot.svg$ mv robot.svg app/assets/images

����hello#show ��������������������������LIST

app/views/hello/show.html.erb:
4<div class="card m-a-1">

5 +<%= image_tag 'robot.svg', alt: 'Robot', size: '320x320' %>6:<div class="card-block card-inverse card-success">

image_tag ������ 1 ����������� robot.svg ������
� alt ������������������������� size �����120

15.3 ��������
���������������� ’x’ ��������������
����� SimpleGreeter ���������Alice�����������
��� 15.1 ��������������

� 15.1������������������

15.3 ��������
������������� iPhone 5 ������ � 15.2 �������
��������������������

121

� 15 � ��

� 15.2�������������������

iPhone 5 ���� 320px ������������������������
���
�Card ������������������������show.html.erb
������������LIST

app/views/hello/show.html.erb:
5 -<%= image_tag 'robot.svg', alt: 'Robot', size: '320x320' %>5 +<%= image_tag 'robot.svg', alt: 'Robot',

6 +:style: 'width: 100%; max-width: 320px' %>image_tag ������ size ��������������� style ������ CSS ����������������width ������ 100% ������������������������������������
����� iPhone 5 ��������������������������122

15.3 ��������
���� 15.2 ���������������������������������������
�����������max-width ������ 320px ������������������������������������

����: ����������������
�������image_tag ��������� img ������������������������ HTML ��������������
������������� 15.1 �����������������
���������������������������������
��������������src �����������������
����... �����
<img alt="Robot" width="320" height="320"src="/assets/robot-e31c3ae...f5fa5a1.svg" />image_tag ������ 1 ������������� robot.svg
��������������������������� 64 �� 16��������������������������������

app/assets/images �����URL ������������ /assets/��������

64 �� 16 ����SHA-256 �����������������
���������������fingerprint� �������fingerprint��������������������������������������������
��������������������������������
������������������������������������������������������������������������������������������������
���123� 15 � ��

15.4 ������ Web �����������
������������SimpleGreeter ������� Web ������
�����������
������favicon� ����������� Web ��������������������������������������������������������������������������Web ������
����������������� Web ����������������������������
����������������������
$ wget https://www.oiax.jp/books/files/simple_greeter.ico$ wget https://www.oiax.jp/books/files/robot256.png$ mv simple_greeter.ico robot256.png app/assets/images������ ICO ���������������� ico �����Web�����������256 ������������ JPEG ����� PNG
����������������������������������������������
LIST

app/views/layouts/application.html.erb

:
910 +
11 +
12
:

<%= javascript_include_tag 'application', 'data-turbolinks-track': ' >reload' %><%= favicon_link_tag('simple_greeter.ico') %><%= favicon_link_tag('robot256.png', rel: 'apple-touch-icon') %></head>�������� favicon_link_tag ����������� HTML �������������������������������

124

15.4 ������ Web �����������

<link rel="shortcut icon" type="image/x-icon" href="/assets/favicon- >84047ae...141ea09.ico" /><link rel="apple-touch-icon" type="image/x-icon" href="/assets/robot256- >eeebb62...35ea802.png" />HTML � link �������HTML �����������������
������ head �����������CSS ���������������������������������� Web �������������
�������������link ������������
����������������������������� 15.3��

� 15.3�����������

�������Ruby on Rails 5.0 ������������✓✏���Ruby on Rails 5.0 ����� 2016 ����������������������✒✑�����������������

125