SlideShare une entreprise Scribd logo
1  sur  38
RUBY ON RAILS 3 Tutorial  を日本語訳してみた Chapter 5-7 2011/11/10
おさらい ,[object Object],[object Object],[object Object],[object Object]
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Chapter5 Filling in the Layout ,[object Object],[object Object]
5.2.1 Integration Tests ,[object Object],[object Object],[object Object],[object Object],$ rails generate integration_test layout_links invoke  rspec create   spec/requests/layout_links_spec.rb
5.2.1 Integration Tests ,[object Object],[object Object],describe   " GET 'home' "   do    it   " should be successful "   do      get   ' home '      response .should be_success    end end
5.2.1 Integration Tests ,[object Object],[object Object],[object Object],Autotest . add_hook   :initialize   do   | autotest | autotest . add_mapping( /^specrequests.*_specrb$/ )   do autotest . files_matching( /^specrequests.*_specrb$/ ) end end
5.2.1 Integration Tests ,[object Object],Autotest . add_hook   :initialize   do   | autotest| autotest . add_mapping( %r%^spec/(requests)/.*rb$% )   do | filename,   _ | filename end end    
5.2.2 Rails Routes ,[object Object],[object Object],[object Object],SampleApp :: Application .routes.draw   do    match   ' /contact ' ,   :to  =>   ' pages#contact '    match   ' /about ' ,     :to  =>   ' pages#about '    match   ' /help ' ,     :to  =>   ' pages#help ' end  
5.4 Conclusion ,[object Object],[object Object],[object Object]
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Chapter6 Modeling and Viewing Users, PartⅠ ,[object Object],[object Object],[object Object],[object Object]
Box 6.1  Roll Your Own Authentication System ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Box 6.1  Roll Your Own Authentication System
6.1.1 Database Migration ,[object Object],[object Object],$ rails g controller Users new $ rails g model User name:string email:string
6.1.1 Database Migration ,[object Object],[object Object],$ bundle exec rake db:migrate $ bundle exec rake db:rollback “ bundle exec を使うと、 BUNDLE_PATH 以下の gem を使って、スクリプトを実行できます。” ( http://d.hatena.ne.jp/mirakui/20100703/1278165723 )
6.1.2 The Model File ,[object Object],[object Object],[object Object],[object Object],[object Object],group  :development   do    gem   ' rspec-rails '    gem   ' annotate ' ,  :git  =>  ' git://github.com/ctran/annotate_models.git ' end  
6.1.2 The Model File ,[object Object],$ bundle exec annotate --position before # == Schema Information # # Table name: users # #  id         :integer         not null, primary key #  name       :string(255) #  email      :string(255) #  created_at :datetime #  updated_at :datetime # class   User  <  ActiveRecord :: Base end   追加されている
6.1.3 Creating user objects ,[object Object],[object Object],$ rails console --sandbox $ tail –f log/development.log
6.2 User Validations  ,[object Object],$ bundle exec rake db:test:prepare
6.2.3 Format Validation ,[object Object],[object Object],[object Object],[object Object]
6.2.3 Format Validation ,[object Object],[object Object],[object Object],test@gmail.com == test+hoge@gmail + から @ 前までが無視される
6.3.1 Debug and Rails Environments ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
6.3.1 Debug and Rails Environments ,[object Object],[object Object],>> Rails.env => “development” >> Rails.env.development? => “true” >> Rails.env.test? => “false”
6.3.1 Debug and Rails Environments ,[object Object],[object Object],$ rails console test $ rails server --environment production
6.3.1 Debug and Rails Environments ,[object Object],[object Object],[object Object],$ bundle exec rake db:migrate RAILS_ENV=production
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Chapter7 Modeling and Viewing Users, PartⅡ
7.2.2 Some Secure Password Theory ,[object Object],[object Object]
7.2.2 Some Secure Password Theory ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
7.2.2 Some Secure Password Theory ,[object Object],[object Object],[object Object],[object Object],[object Object]
7.2.2 Some Secure Password Theory >>  Time . now . utc   => Fri Jan 29 18:11:27 UTC 2010   >>  password   =   &quot;secret&quot;   => &quot;secret&quot;   >>  salt   =   secure_hash( &quot; #{ Time . now . utc } -- #{ password } &quot; )   => &quot;d1a3eb8c9aab32ec19cfda810d2ab351873b5dca4e16e7f57b3c1932113314c8&quot;   >>  encrypted_password   =   secure_hash( &quot; #{ salt } -- #{ password } &quot; )   => &quot;69a98a49b7fd103058639be84fb88c19c998c8ad3639cfc5deb458018561c847&quot;     ※ 明確にするため、ハッシュ化する文字列は” --” で区切られるらしい
7.2.3 Implementing has_password? ,[object Object],[object Object],[object Object],[object Object],[object Object],$ rails generate migration add_password_to_users encrypted_password:string
[object Object],7.2.3 Implementing has_password? $ bundle exec rake db:migrate $ bundle exec rake db:test:prepare sqlite> .schema CREATE TABLE &quot;schema_migrations&quot; (&quot;version&quot; varchar(255) NOT NULL); CREATE TABLE &quot;users&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255), &quot;email&quot; varchar(255), &quot;created_at&quot; datetime, &quot;updated_at&quot; datetime,  &quot;salt&quot; varchar(255));
7.3.2 A Name and a Gravatar ,[object Object],[object Object],[object Object],[object Object],[object Object]
今回のまとめ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
次回予告 ,[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Sea Mountain
 
プラガブル Play20 Scala
プラガブル Play20 Scalaプラガブル Play20 Scala
プラガブル Play20 ScalaKazuhiro Sera
 
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)Toshimichi Suekane
 
Rails and twitter #twtr_hack
Rails and twitter #twtr_hackRails and twitter #twtr_hack
Rails and twitter #twtr_hacki7a
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略Hiroshi SHIBATA
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -Hayato Mizuno
 
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugSpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugToshiaki Maki
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Hitoshi Kurokawa
 
Zabbixを2分でインストール
Zabbixを2分でインストールZabbixを2分でインストール
Zabbixを2分でインストール真乙 九龍
 
Gulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くするGulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くするHayashi Yuichi
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-akira6592
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能kimulla
 
20141017 introduce razor
20141017 introduce razor20141017 introduce razor
20141017 introduce razordo_aki
 

Tendances (19)

Apache Module
Apache ModuleApache Module
Apache Module
 
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10
 
Play勉強会 第3回
Play勉強会 第3回Play勉強会 第3回
Play勉強会 第3回
 
プラガブル Play20 Scala
プラガブル Play20 Scalaプラガブル Play20 Scala
プラガブル Play20 Scala
 
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
 
Rails and twitter #twtr_hack
Rails and twitter #twtr_hackRails and twitter #twtr_hack
Rails and twitter #twtr_hack
 
ASP.NET MVC 1.0
ASP.NET MVC 1.0ASP.NET MVC 1.0
ASP.NET MVC 1.0
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
 
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugSpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
 
Zabbixを2分でインストール
Zabbixを2分でインストールZabbixを2分でインストール
Zabbixを2分でインストール
 
Gulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くするGulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くする
 
Redmine Ansible
Redmine AnsibleRedmine Ansible
Redmine Ansible
 
G * magazine 1
G * magazine 1G * magazine 1
G * magazine 1
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
 
Bot Framework v4 開発 Tips 2018-11
Bot Framework v4  開発 Tips 2018-11Bot Framework v4  開発 Tips 2018-11
Bot Framework v4 開発 Tips 2018-11
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
 
20141017 introduce razor
20141017 introduce razor20141017 introduce razor
20141017 introduce razor
 

Similaire à Ruby on Rails Tutorial Chapter5-7

Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
ASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おうASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おうDevTakas
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platformToru Yamaguchi
 
初めてのPadrino
初めてのPadrino初めてのPadrino
初めてのPadrinoTakeshi Yabe
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
Cakephp tokyo5
Cakephp tokyo5Cakephp tokyo5
Cakephp tokyo5ichikaway
 
いまさら聞けないRake入門
いまさら聞けないRake入門いまさら聞けないRake入門
いまさら聞けないRake入門Tomoya Kawanishi
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Takekazu Omi
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
Rails3.1rc4を試してみた
Rails3.1rc4を試してみたRails3.1rc4を試してみた
Rails3.1rc4を試してみたTakahiro Hidaka
 
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionGoh Matsumoto
 
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Yohei Yasukawa
 
Web技術勉強会23回目
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目龍一 田中
 
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008Yoichiro Tanaka
 
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションPlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションKazuhiro Hara
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶHiroshi Oyamada
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionSatomi Tsujita
 
Rails Controller Fundamentals
Rails Controller FundamentalsRails Controller Fundamentals
Rails Controller FundamentalsTakashi SAKAGUCHI
 
Gitを使ってみませんか
Gitを使ってみませんかGitを使ってみませんか
Gitを使ってみませんかAtsuhiro Takiguchi
 

Similaire à Ruby on Rails Tutorial Chapter5-7 (20)

Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
ASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おうASP.NET Core WebAPIでODataを使おう
ASP.NET Core WebAPIでODataを使おう
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
scala-kaigi1-sbt
scala-kaigi1-sbtscala-kaigi1-sbt
scala-kaigi1-sbt
 
初めてのPadrino
初めてのPadrino初めてのPadrino
初めてのPadrino
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
Cakephp tokyo5
Cakephp tokyo5Cakephp tokyo5
Cakephp tokyo5
 
いまさら聞けないRake入門
いまさら聞けないRake入門いまさら聞けないRake入門
いまさら聞けないRake入門
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Rails3.1rc4を試してみた
Rails3.1rc4を試してみたRails3.1rc4を試してみた
Rails3.1rc4を試してみた
 
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
 
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
 
Web技術勉強会23回目
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目
 
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008
 
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションPlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
 
Rails Controller Fundamentals
Rails Controller FundamentalsRails Controller Fundamentals
Rails Controller Fundamentals
 
Gitを使ってみませんか
Gitを使ってみませんかGitを使ってみませんか
Gitを使ってみませんか
 

Ruby on Rails Tutorial Chapter5-7

  • 1. RUBY ON RAILS 3 Tutorial を日本語訳してみた Chapter 5-7 2011/11/10
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. 7.2.2 Some Secure Password Theory >> Time . now . utc => Fri Jan 29 18:11:27 UTC 2010 >> password = &quot;secret&quot; => &quot;secret&quot; >> salt = secure_hash( &quot; #{ Time . now . utc } -- #{ password } &quot; ) => &quot;d1a3eb8c9aab32ec19cfda810d2ab351873b5dca4e16e7f57b3c1932113314c8&quot; >> encrypted_password = secure_hash( &quot; #{ salt } -- #{ password } &quot; ) => &quot;69a98a49b7fd103058639be84fb88c19c998c8ad3639cfc5deb458018561c847&quot;   ※ 明確にするため、ハッシュ化する文字列は” --” で区切られるらしい
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.

Notes de l'éditeur

  1. こんな感じで書けます localhost:3000 にアクセスしたときに何を表示させるかということも root :to =&gt; “hoge#huga” で設定できる 色々あるから調べてみてね。 routes.rb 自体にコメントアウトで設定が描かれているから、それを見るのも早いかも
  2. ----- 会議メモ (11/11/09 20:52) ----- annotate は アジャイル開発の…本を書いた人がつくった gem migrate のバージョンが書かれてしまう モデルを変更したバージョンが  全部のモデルが更新がかかる 問題があった。今のバージョンはそれが無いように見えるが、確認する必要あり。