Ruby on Rails

Guilherme Fernando Ferreira
Renata Vieira Nobre
Contextualização
Quem usa
Linux?
Quem conhece
programação web?
Quem conhece
Ruby?
Quem conhece
MVC?
Quem já usou algum
framework?
Quem conhece
Rails?
Quem já fez
blog?
Bora fazer um (outro)
blog?
Meta
Mãos na massa
Pré-instalações

curl -L http://tiny.cc/setup_rails_ubuntu | bash
curl -L http://tiny.cc/subl_install | bash
Carregando o ambiente
source ~/.rvm/bin/rvm
ruby --version
Criando o Projeto
rails new <nome do seu blog>
cd <nome do seu blog>
rake db:create
Post
rails generate scaffold post title
content:text
rake db:migrate
rails s
localhost:3000/posts
Usuários com autenticação
Gemfile: gem ‘devise’
rails generate devise:install
rails generate devise user
rails generate devise:views
rake db:migrate
rails s
localhost:3000/users
localhost:3000/users/sign_up
No código
Setar Rota principal
Dar boas-vindas aos usuários
Restringir acesso público
rails s
localhost:3000
Imagem
Gemfile: gem ‘carrierwave’
gem ‘rmagick’
rails g uploader Picture
rails g migration add_picture_to_posts
picture
rake db:migrate
No código
Configurar uploader
Associar uploader ao post
Alterar formulário
Adicionar imagem na action show
Adicionar permissão na controller
rails s
localhost:3000
Gemfile:
ruby ‘2.0.0’
gem ‘sqlite3’, group: [:development, :test]

gem ‘pg’, group: [:production]
gem ‘rails_12factor’
No terminal: bundle
Repositório
git init
git add .
git commit -m “primeiro commit”
Servidor
www.heroku.com
heroku login
heroku keys:add
heroku create <nome-do-seu-blog>
git push heroku master
heroku run rake db:migrate
Repositórios
CSS:
tiny.cc/css_blog_rails
Projeto completo: github.
com/guilffer/curso-rails
Dúvidas
Obrigado!
guilhermef@webgoal.com.br
renata@webgoal.com.br

Curso rails