Weitere ähnliche Inhalte
Ähnlich wie 初探Rails投影片 (20)
Kürzlich hochgeladen (20)
初探Rails投影片
- 2. 01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 10. 01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 15. (array)
” ”
a = [1,3,5] # a [1,3,5]
a = a + [6] #a [1,3,5,6]
a = a - [1] #a [3,5,6]
fruits = ["kiwi", "strawberry", "plum"]
# fruits ["kiwi", "strawberry", "plum"]
fruits = fruits + ["orange"]
#fruits ["kiwi", "strawberry", "plum", "orange"]
fruits = fruits - ["kiwi"]
#fruits ["strawberry", "plum", "orange"]
- 21. 01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 25. 01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 30. 01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 34. 01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 37. rails generate scaffold topic title:string
description:text 2 1. (topic)
(title) (description) 2.
scaffold (script)
db/migrate/XXXX_create_topics.rb
rake db:migrate
Step 1: rails generate scaffold topic title:string description:text
< ....>
Step 2: rake db:migrate
Migration-Scaffold
- 38. Step 1: rails generate scaffold topic title:string
description:text
Migration-Scaffold
- 42. ( )
rails scaffold( )
schema CRUD
rails generate scaffold topic title:string
description:text
CRUD
migration
rake db:migrate
Migration
- 43. 01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 44. MVC (model view controller)
controller
model
view
Rails
Controller
ViewModel
- 46. 01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 48. 01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 54. 01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 58. 01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 62. Topics
topic have many Topic
model has_many :votes
dependent: :destroy Topic destroy
votes
class Topic < ActiveRecord::Base
has_many :votes, dependent: :destroy
end
Step 2: app/models/topic.rb
- 63. Topics
Vote model Topic
Step 1: app/models/vote.rb
class Vote < ActiveRecord::Base
belongs_to :topic
end
topic Vote model
belongs_to :topic
- 64. 01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 68. A.
1. def upvote
2. @topic = Topic.find(params[:id])
3. @topic.votes.create
4. redirect_to(topics_path)
5. end
1~5 upvote ( )
2 params[:id] topic id
@topic
3 @topic vote
4
- 74. C.
Step 1: app/views/topics/index.html.erb
<% @topics.each do |topic| %>
<tr>
<td><%= topic.title %></td>
<td><%= topic.description %></td>
<td><%= link_to 'Show', topic %></td>
<td><%= link_to 'Edit', edit_topic_path(topic) %></td>
<td><%= link_to 'Destroy', topic, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
<% @topics.each do |topic| %>
<tr>
<td><%= topic.title %></td>
<td><%= topic.description %></td>
<td><%= topic.votes.count %></td>
<td><%= button_to ' ', upvote_topic_path(topic), method: :post %></td>
<td><%= link_to 'Show', topic %></td>
<td><%= link_to 'Edit', edit_topic_path(topic) %></td>
<td><%= link_to 'Destroy', topic, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
( 2 )
- 78. 01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 83. 01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 88. 01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 90. Topics
Step 1 : app/views/topics/index.html.erb
<td><%= link_to 'Show', topic %></td>
<td><%= link_to 'Edit', edit_topic_path(topic) %></td>
Step 2 : app/views/topics/index.html.erb
<td><%= link_to 'Destroy', topic, method: :delete,
data: { confirm: 'Are you sure?' } %></td>
<td><%= link_to 'Delete', topic, method: :delete,
data: { confirm: 'Are you sure?' } %></td>
- 92. 01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
- 95. Step 1: Heroku http://heroku.com (
Heroku Git GitHub SSH Email )
Step 2: https://toolbelt.heroku.com/ heroku
toolbelt
- 99. Deploy Heroku
Step 2 : Gemfile
gem 'sqlite3'
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
gem 'rails_12factor'
end