SlideShare a Scribd company logo
1 of 34
Download to read offline
Getting Started with
Ruby on Rails4 + Bootstrap3
Clwit, Inc.
Yukimitsu Izawa
2013/11/23 Kanazawa.rb #15

「安心・安全・安定・信頼」できるインターネットサービスを
じこしょうかい
•

井澤  志充  (いざわゆきみつ)

•

(株)クルウィットの取締役  兼  北北陸陸⽀支社⻑⾧長  
博⼠士(情報科学)

•

•

ネットワークの委託研究・⾃自社サービス開発など  

「安心・安全・安定・信頼」できるインターネットサービスを

!2
What is Ruby on Rails?
Ruby on Rails, often simply Rails, is an
open source web application framework
which runs on the Ruby programming
language.
• Ruby on Rails emphasizes the use of
well-known software engineering patterns
and principles, such as active record
pattern, convention over configuration
(CoC), don't repeat yourself (DRY), and
model–view–controller (MVC).



- wikipedia.org
•

「安心・安全・安定・信頼」できるインターネットサービスを

!3
What is Ruby on Rails?

「安心・安全・安定・信頼」できるインターネットサービスを

!4
Ruby on Rails tutorial

「安心・安全・安定・信頼」できるインターネットサービスを

!5
What is Twitter bootstrap?
Bootstrap is a free collection of
tools for creating websites and web
applications. It contains HTML and
CSS-based design templates for
typography, forms, buttons, navigation
and other interface components, as
well as optional JavaScript
extensions.


•




- wikipedia.org

「安心・安全・安定・信頼」できるインターネットサービスを

!6
What is Twitter bootstrap?

「安心・安全・安定・信頼」できるインターネットサービスを

!7
pre requirements
ruby

•

•

rails gem

twitter bootstrap


•




In this document,
!

ruby 2.0.0
• rails 4.0.1
• twitter bootstrap 3.0
•

「安心・安全・安定・信頼」できるインターネットサービスを

!8
Getting start
•

create rails project, named “myapp”

% rails new myapp
% cd !$

「安心・安全・安定・信頼」できるインターネットサービスを

!9
Edit Gemfile
•

add bootstrap gem to Gemfile.

% vi Gemfile
:
gem 'anjlab-bootstrap-rails', '~> 3.0.2.0', :require => ‘bootstrap-rails'
:

「安心・安全・安定・信頼」できるインターネットサービスを

!10
Bundle libraries
•

execute bundle install.

!

% bundle install --path vendor/bundle

「安心・安全・安定・信頼」できるインターネットサービスを

!11
Edit application css for BS
•

to use bootstrap, edit app/assets/
stylesheets/application.css

!

% mv app/assets/stylesheets/application.css{,.scss}
% vi app/assets/stylesheets/application.css.scss
(delete all line, and add two lines below.)

!

@import "twitter/bootstrap";
body { padding-top: 70px; }

「安心・安全・安定・信頼」できるインターネットサービスを

!12
Edit application.js
•

to use bootstrap, edit app/assets/
javascript/application.js

!

% vi app/assets/javascripts/application.js

!

//=
//=
//=
//=
//=

•

require jquery
require jquery_ujs
require turbolinks
require twitter/bootstrap
require_tree .

← add this line.

Initial setup was completed.
「安心・安全・安定・信頼」できるインターネットサービスを

!13
App example
•

at the top directory of rails project,
scaffolding blog post application.




!

% rails g scaffold Post title:string description:text
% rake db:migrate
•

You can check your app, access to http://localhost:3000/posts/ .

Invoke rails server.

!

% rails s

「安心・安全・安定・信頼」できるインターネットサービスを

!14
「安心・安全・安定・信頼」できるインターネットサービスを

!15
Decorate app (all view)
•

!

Edit app/views/layouts/application.html.erb

% vi app/views/layouts/application.html.erb
→ Continue to the next page.

「安心・安全・安定・信頼」できるインターネットサービスを

!16
app/views/layouts/application.html.erb
!

:
<body>
<div id="wrap">
<!-- header navigation part -->
<div class="navbar navbar-default navbar-fixed-top">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-menucollapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">MyApp<sup>devel</sup></a>
</div>
<div class="navbar-collapse collapse navbar-menu-collapse">
c
<ul class="nav navbar-nav">
<li><a href="#">link1</a></li>
<li><a href="#">link2</a></li>
<li><a href="#">link3</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="#"></a></li>
</ul>
</div>
</div>
<!-- main contents -->
<div class="container">
<%= yield %>
</div>
c </div>
</body>
</html>
「安心・安全・安定・信頼」できるインターネットサービスを

!17
「安心・安全・安定・信頼」できるインターネットサービスを

!18
「安心・安全・安定・信頼」できるインターネットサービスを

!19
Decorate app (posts#index)
•

edit post's view.

<table>
↓
<table class="table table-striped">
<td><%= link_to 'Show', post %></td>
↓
<td><%= link_to 'Show', post, class:"btn btn-primary btn-sm" %></td>
<th>Description</th>
↓
<th class="hidden-xs">Description</th>
<td><%= post.description %></td>
↓
<td class="hidden-xs"><%= post.description %></td>

「安心・安全・安定・信頼」できるインターネットサービスを

!20
「安心・安全・安定・信頼」できるインターネットサービスを

!21
Bootswatch

「安心・安全・安定・信頼」できるインターネットサービスを

!22
Cerulean theme

「安心・安全・安定・信頼」できるインターネットサービスを

!23
How to use bootswatch(cerulean)
•

Fetch css from official site.

% mkdir vendor/assets/stylesheets/bootswatch
% cd !$
% curl -O http://bootswatch.com/cerulean/bootstrap.css
•

Edit application css.

% vi app/assets/stylesheets/application.css.scss
@import 'twitter/bootstrap';
← remove this line.
@import ‘bootswatch/bootstrap'; ← add this line.

「安心・安全・安定・信頼」できるインターネットサービスを

!24
「安心・安全・安定・信頼」できるインターネットサービスを

!25
「安心・安全・安定・信頼」できるインターネットサービスを

!26
How to use pagination(kaminari) with BS3
•

Edit Gemfile.

!

:
gem ‘kaminari'
:

•

re-bundle.

!

% bundle install --path vendor/bundle

「安心・安全・安定・信頼」できるインターネットサービスを

!27
Generate pagination's view

% rails g kaminari:views bootstrap
•

This generator will create BS2 view,
patch below:

app/views/kaminari/_paginator.html.erb
- <div class="pagination">
<ul>
+ <div>
+
<ul class="pagination">

「安心・安全・安定・信頼」できるインターネットサービスを

!28
Pagination example
•

!
!
!

Edit post controller.

% vi app/controllers/posts_controller.rb
def index
@posts = Post.all
end
↓
def index
@posts = Post.all
@posts = @posts.page(params[:page]).per(3) # 3 posts/page
end

「安心・安全・安定・信頼」できるインターネットサービスを

!29
Pagination example
•

!

Edit post index view.

% vi app/views/posts/index.html.erb

<%= paginate @posts %> ← add this line to bottom of listing.

「安心・安全・安定・信頼」できるインターネットサービスを

!30
「安心・安全・安定・信頼」できるインターネットサービスを

!31
「安心・安全・安定・信頼」できるインターネットサービスを

!32
References
•

Ruby on Rails
•
•

•

Twitter bottstrap
•

•

http://getbootstrap.com/

bootstrap-rails Gem
•

•

http://rubyonrails.org/
http://ruby.railstutorial.org/

https://github.com/anjlab/bootstrap-rails

kaminari
•

https://github.com/amatsuda/kaminari

「安心・安全・安定・信頼」できるインターネットサービスを

!33
•

Thank  You!  
•

If  you  have  any  comments,  
•

please  send  to:  
•

Mail:  izawa@izawa.org  /  izawa@clwit.co.jp  

•

Twitter:  @Yukimitsu_̲Izawa

「安心・安全・安定・信頼」できるインターネットサービスを

!34

More Related Content

What's hot

Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Takuro Sasaki
 
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうToru Kawamura
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門miso- soup3
 
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化Daisuke Ikeda
 
Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API GatewayTakuro Sasaki
 
jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作西畑 一馬
 
Spring I/O 2017での拡張のお話
Spring I/O 2017での拡張のお話Spring I/O 2017での拡張のお話
Spring I/O 2017での拡張のお話Alisa Sasaki
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with HandoffYuichi Yoshida
 
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたいはじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたいKazumi IWANAGA
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例Yasutomo Uemori
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからYasuhiro Horiuchi
 
2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopoYasutaka Hamada
 
Building Scalable Application on the Cloud
Building Scalable Application on the CloudBuilding Scalable Application on the Cloud
Building Scalable Application on the CloudKeisuke Nishitani
 
CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01 CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01 Shuji Watanabe
 
20150207 amazon elasticache
20150207 amazon elasticache20150207 amazon elasticache
20150207 amazon elasticacheDaiki Mori
 
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状Hiroyuki Hiki
 
Smart fxでのsocketio活用事例
Smart fxでのsocketio活用事例Smart fxでのsocketio活用事例
Smart fxでのsocketio活用事例剛志 森田
 
Zaim 500万ユーザに向けて
Zaim 500万ユーザに向けてZaim 500万ユーザに向けて
Zaim 500万ユーザに向けてWataru Nishimoto
 

What's hot (20)

Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼう
 
すこやかRails
すこやかRailsすこやかRails
すこやかRails
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
 
Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API Gateway
 
jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作
 
Spring I/O 2017での拡張のお話
Spring I/O 2017での拡張のお話Spring I/O 2017での拡張のお話
Spring I/O 2017での拡張のお話
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
 
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたいはじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
 
2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo2015/06/27 sakuraclub LT @nullpopopo
2015/06/27 sakuraclub LT @nullpopopo
 
Building Scalable Application on the Cloud
Building Scalable Application on the CloudBuilding Scalable Application on the Cloud
Building Scalable Application on the Cloud
 
CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01 CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01
 
20150207 amazon elasticache
20150207 amazon elasticache20150207 amazon elasticache
20150207 amazon elasticache
 
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状
初めてのDirect Connect 四国クラウドお遍路2014&JAWS-UGの現状
 
Smart fxでのsocketio活用事例
Smart fxでのsocketio活用事例Smart fxでのsocketio活用事例
Smart fxでのsocketio活用事例
 
Yesod勉強会
Yesod勉強会Yesod勉強会
Yesod勉強会
 
Zaim 500万ユーザに向けて
Zaim 500万ユーザに向けてZaim 500万ユーザに向けて
Zaim 500万ユーザに向けて
 

Viewers also liked

Viewers also liked (6)

短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版
 
Pow
PowPow
Pow
 
IoTタグで遊んでみよう
IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみよう
 
RubyでDSL
RubyでDSLRubyでDSL
RubyでDSL
 
Ruby with My Life
Ruby with My LifeRuby with My Life
Ruby with My Life
 
Scala DSLの作り方
Scala DSLの作り方Scala DSLの作り方
Scala DSLの作り方
 

Similar to Getting Started with Ruby on Rails4 + Twitter Bootstrap3

Scala: Mobile Backend on AWS
Scala: Mobile Backend on AWSScala: Mobile Backend on AWS
Scala: Mobile Backend on AWScmaraiyusuke
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインShumpei Shiraishi
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所真吾 吉田
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略Hiroshi SHIBATA
 
Realm platform2019
Realm platform2019Realm platform2019
Realm platform2019昌桓 李
 
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】WESEEKWESEEK
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターンHiroyasu Suzuki
 
About rails 3
About rails 3About rails 3
About rails 3issei126
 
OpsWorks aws-cli#11
OpsWorks aws-cli#11OpsWorks aws-cli#11
OpsWorks aws-cli#11Yuta Shimada
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...さくらインターネット株式会社
 
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン 【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン linkbal
 
Backlogでの Perlのつかいかた
Backlogでの PerlのつかいかたBacklogでの Perlのつかいかた
Backlogでの PerlのつかいかたRyuzo Yamamoto
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLBYuki KAN
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集Couchbase Japan KK
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.jsTanUkkii
 

Similar to Getting Started with Ruby on Rails4 + Twitter Bootstrap3 (20)

Tech fun rails_workshop
Tech fun rails_workshopTech fun rails_workshop
Tech fun rails_workshop
 
Scala: Mobile Backend on AWS
Scala: Mobile Backend on AWSScala: Mobile Backend on AWS
Scala: Mobile Backend on AWS
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門
 
Realm platform2019
Realm platform2019Realm platform2019
Realm platform2019
 
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
 
About rails 3
About rails 3About rails 3
About rails 3
 
OpsWorks aws-cli#11
OpsWorks aws-cli#11OpsWorks aws-cli#11
OpsWorks aws-cli#11
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
 
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン 【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
 
Backlogでの Perlのつかいかた
Backlogでの PerlのつかいかたBacklogでの Perlのつかいかた
Backlogでの Perlのつかいかた
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 

More from Yukimitsu Izawa

最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とはYukimitsu Izawa
 
RubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするRubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするYukimitsu Izawa
 
Rubyでオートマトン
RubyでオートマトンRubyでオートマトン
RubyでオートマトンYukimitsu Izawa
 
Octopress簡単スタートガイド
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイドYukimitsu Izawa
 
RubyからFFIを使ってみた
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみたYukimitsu Izawa
 
NTPを使ったDDoSについて
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについてYukimitsu Izawa
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server EnvironmentYukimitsu Izawa
 
rvm でbundlerと仲良くする
rvm でbundlerと仲良くするrvm でbundlerと仲良くする
rvm でbundlerと仲良くするYukimitsu Izawa
 
SWIGでRubyバインディング
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディングYukimitsu Izawa
 
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたMacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたYukimitsu Izawa
 

More from Yukimitsu Izawa (15)

docxをmdで書こう
docxをmdで書こうdocxをmdで書こう
docxをmdで書こう
 
最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは
 
RubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするRubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をする
 
Rubyでオートマトン
RubyでオートマトンRubyでオートマトン
Rubyでオートマトン
 
Ghissuesのご紹介
Ghissuesのご紹介Ghissuesのご紹介
Ghissuesのご紹介
 
Log-modeのご紹介
Log-modeのご紹介Log-modeのご紹介
Log-modeのご紹介
 
Octopress簡単スタートガイド
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイド
 
RubyからFFIを使ってみた
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみた
 
NTPを使ったDDoSについて
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについて
 
テストとは
テストとはテストとは
テストとは
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server Environment
 
Try
TryTry
Try
 
rvm でbundlerと仲良くする
rvm でbundlerと仲良くするrvm でbundlerと仲良くする
rvm でbundlerと仲良くする
 
SWIGでRubyバインディング
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディング
 
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたMacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみた
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (14)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

Getting Started with Ruby on Rails4 + Twitter Bootstrap3

  • 1. Getting Started with Ruby on Rails4 + Bootstrap3 Clwit, Inc. Yukimitsu Izawa 2013/11/23 Kanazawa.rb #15 「安心・安全・安定・信頼」できるインターネットサービスを
  • 2. じこしょうかい • 井澤  志充  (いざわゆきみつ) • (株)クルウィットの取締役  兼  北北陸陸⽀支社⻑⾧長   博⼠士(情報科学) • • ネットワークの委託研究・⾃自社サービス開発など   「安心・安全・安定・信頼」できるインターネットサービスを !2
  • 3. What is Ruby on Rails? Ruby on Rails, often simply Rails, is an open source web application framework which runs on the Ruby programming language. • Ruby on Rails emphasizes the use of well-known software engineering patterns and principles, such as active record pattern, convention over configuration (CoC), don't repeat yourself (DRY), and model–view–controller (MVC).
 
 - wikipedia.org • 「安心・安全・安定・信頼」できるインターネットサービスを !3
  • 4. What is Ruby on Rails? 「安心・安全・安定・信頼」できるインターネットサービスを !4
  • 5. Ruby on Rails tutorial 「安心・安全・安定・信頼」できるインターネットサービスを !5
  • 6. What is Twitter bootstrap? Bootstrap is a free collection of tools for creating websites and web applications. It contains HTML and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions.
 • 
 - wikipedia.org 「安心・安全・安定・信頼」できるインターネットサービスを !6
  • 7. What is Twitter bootstrap? 「安心・安全・安定・信頼」できるインターネットサービスを !7
  • 8. pre requirements ruby • • rails gem twitter bootstrap
 • 
 In this document, ! ruby 2.0.0 • rails 4.0.1 • twitter bootstrap 3.0 • 「安心・安全・安定・信頼」できるインターネットサービスを !8
  • 9. Getting start • create rails project, named “myapp” % rails new myapp % cd !$ 「安心・安全・安定・信頼」できるインターネットサービスを !9
  • 10. Edit Gemfile • add bootstrap gem to Gemfile. % vi Gemfile : gem 'anjlab-bootstrap-rails', '~> 3.0.2.0', :require => ‘bootstrap-rails' : 「安心・安全・安定・信頼」できるインターネットサービスを !10
  • 11. Bundle libraries • execute bundle install. ! % bundle install --path vendor/bundle 「安心・安全・安定・信頼」できるインターネットサービスを !11
  • 12. Edit application css for BS • to use bootstrap, edit app/assets/ stylesheets/application.css ! % mv app/assets/stylesheets/application.css{,.scss} % vi app/assets/stylesheets/application.css.scss (delete all line, and add two lines below.) ! @import "twitter/bootstrap"; body { padding-top: 70px; } 「安心・安全・安定・信頼」できるインターネットサービスを !12
  • 13. Edit application.js • to use bootstrap, edit app/assets/ javascript/application.js ! % vi app/assets/javascripts/application.js ! //= //= //= //= //= • require jquery require jquery_ujs require turbolinks require twitter/bootstrap require_tree . ← add this line. Initial setup was completed. 「安心・安全・安定・信頼」できるインターネットサービスを !13
  • 14. App example • at the top directory of rails project, scaffolding blog post application. 
 ! % rails g scaffold Post title:string description:text % rake db:migrate • You can check your app, access to http://localhost:3000/posts/ .
 Invoke rails server. ! % rails s 「安心・安全・安定・信頼」できるインターネットサービスを !14
  • 16. Decorate app (all view) • ! Edit app/views/layouts/application.html.erb % vi app/views/layouts/application.html.erb → Continue to the next page. 「安心・安全・安定・信頼」できるインターネットサービスを !16
  • 17. app/views/layouts/application.html.erb ! : <body> <div id="wrap"> <!-- header navigation part --> <div class="navbar navbar-default navbar-fixed-top"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-menucollapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/">MyApp<sup>devel</sup></a> </div> <div class="navbar-collapse collapse navbar-menu-collapse"> c <ul class="nav navbar-nav"> <li><a href="#">link1</a></li> <li><a href="#">link2</a></li> <li><a href="#">link3</a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li><a href="#"></a></li> </ul> </div> </div> <!-- main contents --> <div class="container"> <%= yield %> </div> c </div> </body> </html> 「安心・安全・安定・信頼」できるインターネットサービスを !17
  • 20. Decorate app (posts#index) • edit post's view. <table> ↓ <table class="table table-striped"> <td><%= link_to 'Show', post %></td> ↓ <td><%= link_to 'Show', post, class:"btn btn-primary btn-sm" %></td> <th>Description</th> ↓ <th class="hidden-xs">Description</th> <td><%= post.description %></td> ↓ <td class="hidden-xs"><%= post.description %></td> 「安心・安全・安定・信頼」できるインターネットサービスを !20
  • 24. How to use bootswatch(cerulean) • Fetch css from official site. % mkdir vendor/assets/stylesheets/bootswatch % cd !$ % curl -O http://bootswatch.com/cerulean/bootstrap.css • Edit application css. % vi app/assets/stylesheets/application.css.scss @import 'twitter/bootstrap'; ← remove this line. @import ‘bootswatch/bootstrap'; ← add this line. 「安心・安全・安定・信頼」できるインターネットサービスを !24
  • 27. How to use pagination(kaminari) with BS3 • Edit Gemfile. ! : gem ‘kaminari' : • re-bundle. ! % bundle install --path vendor/bundle 「安心・安全・安定・信頼」できるインターネットサービスを !27
  • 28. Generate pagination's view % rails g kaminari:views bootstrap • This generator will create BS2 view, patch below: app/views/kaminari/_paginator.html.erb - <div class="pagination"> <ul> + <div> + <ul class="pagination"> 「安心・安全・安定・信頼」できるインターネットサービスを !28
  • 29. Pagination example • ! ! ! Edit post controller. % vi app/controllers/posts_controller.rb def index @posts = Post.all end ↓ def index @posts = Post.all @posts = @posts.page(params[:page]).per(3) # 3 posts/page end 「安心・安全・安定・信頼」できるインターネットサービスを !29
  • 30. Pagination example • ! Edit post index view. % vi app/views/posts/index.html.erb <%= paginate @posts %> ← add this line to bottom of listing. 「安心・安全・安定・信頼」できるインターネットサービスを !30
  • 33. References • Ruby on Rails • • • Twitter bottstrap • • http://getbootstrap.com/ bootstrap-rails Gem • • http://rubyonrails.org/ http://ruby.railstutorial.org/ https://github.com/anjlab/bootstrap-rails kaminari • https://github.com/amatsuda/kaminari 「安心・安全・安定・信頼」できるインターネットサービスを !33
  • 34. • Thank  You!   • If  you  have  any  comments,   • please  send  to:   • Mail:  izawa@izawa.org  /  izawa@clwit.co.jp   • Twitter:  @Yukimitsu_̲Izawa 「安心・安全・安定・信頼」できるインターネットサービスを !34