<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Digital Area Blog &#187; ubuntu</title>
	<atom:link href="http://digitalareablog.wordpress.com/category/linux/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://digitalareablog.wordpress.com</link>
	<description>Compartilhar informações: Tecnologia, Mac, Ruby, Ruby On Rails, Internet.</description>
	<lastBuildDate>Mon, 18 Feb 2013 13:22:59 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='digitalareablog.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Digital Area Blog &#187; ubuntu</title>
		<link>http://digitalareablog.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://digitalareablog.wordpress.com/osd.xml" title="Digital Area Blog" />
	<atom:link rel='hub' href='http://digitalareablog.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Autenticação &#8211; Permitir login com nome de usuário ou email</title>
		<link>http://digitalareablog.wordpress.com/2012/02/29/autenticacao-permitir-login-com-nome-de-usuario-ou-email/</link>
		<comments>http://digitalareablog.wordpress.com/2012/02/29/autenticacao-permitir-login-com-nome-de-usuario-ou-email/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:31:30 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[devise]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[master-detail]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Rails 3.1]]></category>
		<category><![CDATA[Rails 3.2.1]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Gem]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Rails 3.2]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby 1.9.2]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[seeds]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1893</guid>
		<description><![CDATA[I &#8211; Introdução Neste post vamos permitir que o usuário possa fazer o login usando nome de usuário ou email, usando a gem Devise com o Rails versão 3.2.1. Para demonstrar isso, vamos continuar a construir um app web, que iniciamos no artigo em Aplicação &#8220;mestre detalhe&#8221; em Rails 3.2.1 e depois em Autenticação em Ruby On Rails 3.2.1 com Devise. O &#8230; <a href="http://digitalareablog.wordpress.com/2012/02/29/autenticacao-permitir-login-com-nome-de-usuario-ou-email/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1893&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>I &#8211; Introdução</h2>
<ul>
<li>Neste post vamos permitir que o <span style="text-decoration:underline;">usuário possa fazer o login</span> usando <strong>nome de usuário</strong> ou <strong>email</strong>, usando a gem <a title="Devise" href="https://github.com/plataformatec/devise" target="_blank">Devise</a> com o <a title="rails" href="https://rubygems.org/gems/rails" target="_blank">Rails</a> versão 3.2.1.</li>
<li>Para demonstrar isso, vamos continuar a construir um app web, que iniciamos no artigo em <a title="Aplicação “mestre detalhe” em Rails 3.2.1" href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/" target="_blank">Aplicação &#8220;mestre detalhe&#8221; em Rails 3.2.1</a> e depois em <a title="Autenticação em Ruby On Rails 3.2.1 com Devise" href="http://digitalareablog.wordpress.com/2012/02/07/autenticacao-em-ruby-on-rails-3-2-1-com-devise/">Autenticação em Ruby On Rails 3.2.1 com Devise</a>.</li>
<li>O código fonte gerado no artigo anterior, está hospedado no <a title="Github" href="http://github.com" target="_blank">Github</a> em <a title="sergiosouzalima/service_desk" href="https://github.com/sergiosouzalima/service_desk" target="_blank">https://github.com/sergiosouzalima/service_desk</a></li>
<li>O código fonte gerado para este artigo, também está hospedado no <a title="Github" href="http://github.com" target="_blank">Github</a> em <a title="sergiosouzalima/service_desk_v03" href="sergiosouzalima/service_desk_v03.git" target="_blank">https://github.com/sergiosouzalima/service_desk_v03</a></li>
</ul>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.2</li>
<li>Rails 3.2.1</li>
<li>gem <a title="Devise" href="https://github.com/plataformatec/devise" target="_blank">Devise</a> 2.0</li>
</ul>
<h2>III &#8211; O que não precisamos instalar</h2>
<ul>
<li>Git, RVM, openssl, sqlite3 e outros pacotes necessários.</li>
<li>Como dependemos de instalações e configurações anteriores, caso seu ambiente não esteja preparado, veja os posts:
<ol>
<li><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a></li>
<li><a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</a>.</li>
<li><a title="Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)" href="http://digitalareablog.wordpress.com/2012/01/18/ruby-on-rails-3-1-3-com-a-gem-nifty-generators-compatibilizando/" target="_blank">Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)</a> (opcional)</li>
</ol>
</li>
<li>Para instalar a versão do Rails 3.2.1, siga o tutorial acima (item 1 e 2). Apenas informe a versão do Rails 3.2.1 no lugar das versões anteriores.</li>
</ul>
<h2>IV &#8211; O que precisa ser feito antes</h2>
<ul>
<li>Este post é continuação do trabalho que fizemos em: <a title="Aplicação “mestre detalhe” em Rails 3.2.1" href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/" target="_blank">Aplicação &#8220;mestre detalhe&#8221; em Rails 3.2.1</a></li>
<li>e depois em <a title="Autenticação em Ruby On Rails 3.2.1 com Devise" href="http://digitalareablog.wordpress.com/2012/02/07/autenticacao-em-ruby-on-rails-3-2-1-com-devise/">Autenticação em Ruby On Rails 3.2.1 com Devise</a>.</li>
</ul>
<h2>V &#8211; Sequência de passos para implementação</h2>
<p><strong>Passo 01 &#8211; Entre na aplicação que criamos anteriormente</strong></p>
<div>
<pre>$ cd service_desk</pre>
</div>
<p><strong>Passo 02 &#8211; Corrigir mensagens</strong></p>
<ul>
<li><span style="color:#000080;">Para que o app tenha menos código e fique mais <a title="Don't repeat yourself" href="http://pt.wikipedia.org/wiki/Don%27t_repeat_yourself" target="_blank">DRY</a> (Don&#8217;t repeat yourself), vamos corrigir duas views.</span></li>
<li><span style="color:#000080;">Em app/views/tickets/show.html.erb, retire a seguinte linha</span></li>
</ul>
<pre>&lt;p id="notice"&gt;&lt;%= notice %&gt;&lt;/p&gt;</pre>
<ul>
<li><span style="color:#333399;">Em app/views/layouts/application.html.erb, modifique a &#8220;section main&#8221; para que fique da seguinte maneira</span>:</li>
</ul>
<pre>&lt;section id="main"&gt;
   &lt;p class="notice"&gt;&lt;%= notice %&gt;&lt;/p&gt;
   &lt;p class="alert"&gt;&lt;%= alert %&gt;&lt;/p&gt;
   &lt;%= yield %&gt;
&lt;/section&gt;</pre>
<p><strong>Passo 03 &#8211; Inclua a coluna username na tabela de usuários (Users)</strong></p>
<ul>
<li><span style="color:#333399;">A coluna username será única (uniq) na tabela Users.</span></li>
<li><span style="color:#333399;">A migration irá gerar um índice na mesma tabela Users, para otimizar os acessos pela chave username.</span></li>
</ul>
<pre>$ rails g migration add_username_to_users username:string:uniq
$ bundle exec rake db:migrate</pre>
<p><strong>Passo 04 &#8211; Gere as views do Devise</strong></p>
<ul>
<li><span style="color:#333399;">Para incluir o campo username, que terá a label &#8220;login&#8221; nas views do Devise, é necessário personalizar as mesmas vie</span><span style="color:#333399;">ws.</span></li>
<li><span style="color:#333399;">Vamos, agora, gerar todas a views do Devise para que seja possível personalizar as telas de registro de usuário, de login de usuário, e tela de modificação de senha.</span></li>
</ul>
<pre>$ rails g devise:views</pre>
<ul>
<li><span style="color:#333399;">Veja abaixo que foram criados a pasta &#8220;devise&#8221; e as pastas e arquivos (views) do Devise</span><span style="color:#333399;">.</span></li>
</ul>
<pre>$ tree app/views/devise/
app/views/devise/
├── confirmations
│   └── new.html.erb
├── _links.erb
├── mailer
│   ├── confirmation_instructions.html.erb
│   ├── reset_password_instructions.html.erb
│   └── unlock_instructions.html.erb
├── passwords
│   ├── edit.html.erb
│   └── new.html.erb
├── registrations
│   ├── edit.html.erb
│   └── new.html.erb
├── sessions
│   └── new.html.erb
└── unlocks
    └── new.html.erb

6 directories, 11 files</pre>
<p><strong>Passo 05 &#8211; Modifique as views do Devise a seguir</strong></p>
<ul>
<li><span style="color:#333399;">Na view app/views/devise/sessions/new.html.erb:</span></li>
</ul>
<pre>&lt;div&gt;&lt;%= f.label :email %&gt;&lt;br /&gt; # delete essa linha
&lt;%= f.email_field :email %&gt;&lt;/div&gt; # delete essa linha
&lt;div&gt;&lt;%= f.label :login %&gt;&lt;br /&gt; # insira essa linha
&lt;%= f.text_field :login %&gt;&lt;/div&gt;  # insira essa linha</pre>
<ul>
<li><span style="color:#333399;">Na view app/views/devise/registrations/new.html.erb:</span></li>
</ul>
<pre>&lt;div&gt;&lt;%= f.label :username %&gt;&lt;br /&gt; # insira essa linha
&lt;%= f.text_field :username %&gt;&lt;/div&gt; # insira essa linha
&lt;div&gt;&lt;%= f.label :email %&gt;&lt;br /&gt; # mantenha essa linha
&lt;%= f.email_field :email %&gt;&lt;/div&gt; # mantenha essa linha</pre>
<ul>
<li><span style="color:#333399;">Na view app/views/devise/registrations/edit.html.erb:</span></li>
</ul>
<pre>&lt;div&gt;&lt;%= f.label :username %&gt;&lt;br /&gt; # insira essa linha
&lt;%= f.text_field :username %&gt;&lt;/div&gt; # insira essa linha
&lt;div&gt;&lt;%= f.label :email %&gt;&lt;br /&gt; # mantenha essa linha
&lt;%= f.email_field :email %&gt;&lt;/div&gt; # mantenha essa linha</pre>
<ul>
<li><span style="color:#333399;">Na view app/views/devise/passwords/new.html.erb:</span></li>
</ul>
<pre>&lt;div&gt;&lt;%= f.label :email %&gt;&lt;br /&gt; # delete essa linha
&lt;%= f.email_field :email %&gt;&lt;/div&gt; # delete essa linha
&lt;div&gt;&lt;%= f.label :login %&gt;&lt;br /&gt; # insira essa linha
&lt;%= f.text_field :login %&gt;&lt;/div&gt; # insira essa linha</pre>
<p><strong>Passo 06 &#8211; Modifique a label das views para que mostre &#8220;username or email&#8221; ao usuário</strong></p>
<ul>
<li><span style="color:#333399;">Modifique o arquivo /config/locales/en.yml para que fique parecido com o trecho abaixo:</span></li>
</ul>
<pre>en:
  hello: "Hello world"            

  activerecord:
    attributes:
      user:
        login: "Username or email"</pre>
<p><strong>Passo 07 &#8211; Indique ao Devise para que use :login no authentication_keys</strong></p>
<ul>
<li><span style="color:#333399;">Modifique o arquivo /config/initializers/devise.rb para que tenha:</span></li>
</ul>
<pre>config.authentication_keys = [ :login ]</pre>
<p><strong>Passo 08 &#8211; Agora várias alterações do model User serão necessárias</strong></p>
<ul>
<li><span style="color:#333399;">Modifique o arquivo /app/model/user.rb para que tenha:</span></li>
</ul>
<pre>attr_accessible :username, :login

# Virtual attribute for authenticating by either username or email
# This is in addition to a real persisted field like 'username'
attr_accessor :login

# Overwrite Devise’s find_for_database_authentication method
def self.find_for_database_authentication(warden_conditions)
   conditions = warden_conditions.dup
   login = conditions.delete(:login)
   where(conditions).where(["lower(username) = :value OR lower(email) = :value", { :value =&gt;
     login.strip.downcase }]).first
end

protected

 # Attempt to find a user by it's email. If a record is found, send new
 # password instructions to it. If not user is found, returns a new user
 # with an email not found error.
 def self.send_reset_password_instructions(attributes={})
   recoverable = find_recoverable_or_initialize_with_errors(reset_password_keys, attributes, :not_found)
   recoverable.send_reset_password_instructions if recoverable.persisted?
   recoverable
 end 

 def self.find_recoverable_or_initialize_with_errors(required_attributes, attributes, error=:invalid)
   (case_insensitive_keys || []).each { |k| attributes[k].try(:downcase!) }

   attributes = attributes.slice(*required_attributes)
   attributes.delete_if { |key, value| value.blank? }

   if attributes.size == required_attributes.size
     if attributes.has_key?(:login)
        login = attributes[:login]
        record = find_record(login)
     else
       record = where(attributes).first
     end
   end  

   unless record
     record = new

     required_attributes.each do |key|
       value = attributes[key]
       record.send("#{key}=", value)
       record.errors.add(key, value.present? ? error : :blank)
     end
   end
   record
 end

 def self.find_record(login)
   where(["username = :value OR email = :value", { :value =&gt; login }]).first
 end</pre>
<p><strong>Passo 09 &#8211; Alimentar dados automaticamente no sistema</strong></p>
<ul>
<li><span style="color:#333399;">Vamos usar comandos de inserção de dados, dentro do arquivo &#8220;seed.rb&#8221; </span></li>
<li><span style="color:#333399;">Cada vez que alguém iniciar este projeto do zero, será possível inicia-lo com esses dados de exemplo.</span></li>
<li><span style="color:#333399;">Desta forma, teremos quatro usuários já cadastrados no sistema, todos com a senha 123456:</span>
<ul>
<li><span style="color:#333399;">superuser</span></li>
<li><span style="color:#333399;">admin</span></li>
<li><span style="color:#333399;">user</span></li>
<li><span style="color:#333399;">user1</span></li>
</ul>
</li>
<li><span style="color:#333399;">Modifique o arquivo /db/migrate/seeds.rb para que tenha:</span></li>
</ul>
<pre>superuser_user = User.create!(:username =&gt; 'superuser',
                              :email =&gt; 'superuser@example.com',
                              :password =&gt; '123456',
                              :password_confirmation =&gt; '123456',
                              :confirmed_at =&gt; Time.now )
admin_user = User.create!(:username =&gt; 'admin',
                          :email =&gt; 'admin@example.com',
                          :password =&gt; '123456',
                          :password_confirmation =&gt; '123456',
                          :confirmed_at =&gt; Time.now )
user_user = User.create!(:username =&gt; 'user',
                         :email =&gt; 'user@example.com',
                         :password =&gt; '123456',
                         :password_confirmation =&gt; '123456',
                         :confirmed_at =&gt; Time.now )
user1_user = User.create!(:username =&gt; 'user1',
                          :email =&gt; 'user1@example.com',
                          :password =&gt; '123456',
                          :password_confirmation =&gt; '123456',
                          :confirmed_at =&gt; Time.now )                               

# create ticket #1
tkt1 = Ticket.create!( ticket_number: "00001", title: "ticket number 00001" )
Task.create!( description: "task 001 of ticket 00001", ticket_id: tkt1.id )         

# create ticket #2
tkt2 = Ticket.create!( ticket_number: "00002", title: "ticket number 00002" )
Task.create!( description: "task 001 of ticket 00002", ticket_id: tkt2.id )
Task.create!( description: "task 002 of ticket 00002", ticket_id: tkt2.id )         

# create ticket #3
tkt3 = Ticket.create!( ticket_number: "00003", title: "ticket number 00003" )
Task.create!( description: "task 001 of ticket 00003", ticket_id: tkt3.id )
Task.create!( description: "task 002 of ticket 00003", ticket_id: tkt3.id )
Task.create!( description: "task 003 of ticket 00003", ticket_id: tkt3.id )</pre>
<ul>
<li><span style="color:#000080;">Para que o seed acima seja executado, execute o comando:</span></li>
</ul>
<pre>$ bundle exec rake db:seed</pre>
<p><strong>Passo 10 &#8211; Conferencia dos Models</strong></p>
<ul>
<li><span style="color:#000080;">Agora o seu model Ticket (app/model/ticket.rb) terá que ficar assim:</span></li>
</ul>
<pre> class Ticket &lt; ActiveRecord::Base
  has_many :tasks    validates :ticket_number, presence: true
  accepts_nested_attributes_for :tasks, :reject_if =&gt; proc { |a| a[:description].blank? }, allow_destroy:
 ...true
   attr_accessible :ticket_number, :title
 end</pre>
<ul>
<li><span style="color:#000080;"><span style="color:#000080;">E seu model Task (app/model/task.rb) assim:</span></span></li>
</ul>
<pre>class Task &lt; ActiveRecord::Base
  belongs_to :ticket
  attr_accessible :description, :ticket_id
end</pre>
<h3><strong>Passo 11 &#8211; Execute a aplicação localmente</strong></h3>
<ul>
<li><span style="color:#000080;">Execute o servidor e carregue o browser e na linha de endereços digite <a href="http://localhost:3000" rel="nofollow">http://localhost:3000</a></span></li>
</ul>
<pre>$ rails server</pre>
<h2>VI &#8211; Final Feliz</h2>
<blockquote><p>Pronto!<br />
Fizemos o básico para que nosso app web aceite username ou o email do usuário.<br />
Também criamos um arquivo &#8220;seed&#8221; que poderá ser usado para criar dados iniciais (inclusive usuários) de exemplo no sistema.</p></blockquote>
<h2>VII &#8211; Referências</h2>
<ol>
<li><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a></li>
<li><a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</a></li>
<li><a title="Aplicação “mestre detalhe” em Rails 3.2.1" href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/" target="_blank">Aplicação &#8220;mestre detalhe&#8221; em Rails 3.2.1</a></li>
<li><a title="Autenticação em Ruby On Rails 3.2.1 com Devise" href="http://digitalareablog.wordpress.com/2012/02/07/autenticacao-em-ruby-on-rails-3-2-1-com-devise/">Autenticação em Ruby On Rails 3.2.1 com Devise</a></li>
<li><a title="How To: Allow users to sign in using their username or email address" href="https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in-using-their-username-or-email-address" target="_blank">How To: Allow users to sign in using their username or email address</a></li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1893/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1893&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2012/02/29/autenticacao-permitir-login-com-nome-de-usuario-ou-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Autenticação em Ruby On Rails 3.2.1 com Devise</title>
		<link>http://digitalareablog.wordpress.com/2012/02/07/autenticacao-em-ruby-on-rails-3-2-1-com-devise/</link>
		<comments>http://digitalareablog.wordpress.com/2012/02/07/autenticacao-em-ruby-on-rails-3-2-1-com-devise/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 18:34:07 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[gem]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[master-detail]]></category>
		<category><![CDATA[nifty-generators]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Rails 3.1]]></category>
		<category><![CDATA[Rails 3.2.1]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Gem]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Rails 3.2]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby 1.9.2]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1794</guid>
		<description><![CDATA[I &#8211; Introdução Neste post vamos mostrar como implementar a autenticação básica num app web usando a gem Devise com o Rails versão 3.2.1. Da autoria da Plataforma Tecnologia, a gem Devise é uma solução flexível para criar aplicações web com o recurso de autenticação. Além de permitir que usuários do app web realizem as operações de &#8220;sign &#8230; <a href="http://digitalareablog.wordpress.com/2012/02/07/autenticacao-em-ruby-on-rails-3-2-1-com-devise/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1794&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>I &#8211; Introdução</h2>
<ul>
<li>Neste post vamos mostrar como implementar a <a title="autenticação" href="http://pt.wikipedia.org/wiki/Autentica%C3%A7%C3%A3o" target="_blank">autenticação</a> básica num app web usando a gem <a title="Devise" href="https://github.com/plataformatec/devise" target="_blank">Devise</a> com o Rails versão 3.2.1.</li>
<li>Da autoria da <a title="Plataforma Tecnologia" href="http://plataformatec.com.br/" target="_blank">Plataforma Tecnologia</a>, a gem <a title="Devise" href="https://github.com/plataformatec/devise" target="_blank">Devise</a> é uma solução flexível para criar aplicações web com o recurso de <a title="autenticação" href="http://pt.wikipedia.org/wiki/Autentica%C3%A7%C3%A3o" target="_blank">autenticação</a>.</li>
<li>Além de permitir que usuários do app web realizem as operações de &#8220;sign in&#8221; e &#8220;sign up&#8221;, oferece recursos que são comuns para app que necessitam de gerenciamento de usuários.</li>
<li>Neste artigo vamos continuar a construir um app web, que iniciamos <a title="Aplicação “mestre detalhe” em Rails 3.2.1" href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/">anteriormente</a>.</li>
<li>O código fonte gerado neste artigo, está hospedado no <a title="Github" href="http://github.com" target="_blank">Github</a> em <a title="sergiosouzalima/service_desk" href="https://github.com/sergiosouzalima/service_desk" target="_blank">https://github.com/sergiosouzalima/service_desk</a></li>
</ul>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.2</li>
<li>Rails 3.2.1</li>
<li>gem <a title="Devise" href="https://github.com/plataformatec/devise" target="_blank">Devise</a> 2.0</li>
</ul>
<h2>III &#8211; O que não precisamos instalar</h2>
<ul>
<li>Git, RVM, openssl, sqlite3 e outros pacotes necessários.</li>
<li>Como dependemos de instalações e configurações anteriores, caso seu ambiente não esteja preparado, veja os posts:
<ol>
<li><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a></li>
<li><a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</a>.</li>
<li><a title="Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)" href="http://digitalareablog.wordpress.com/2012/01/18/ruby-on-rails-3-1-3-com-a-gem-nifty-generators-compatibilizando/" target="_blank">Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)</a> (opcional)</li>
</ol>
</li>
<li>Para instalar a versão do Rails 3.2.1, siga o tutorial acima (item 1 e 2). Apenas informe a versão do Rails 3.2.1 no lugar das versões anteriores.</li>
</ul>
<h2>IV &#8211; O que precisa ser feito antes</h2>
<ul>
<li>Este post é continuação do trabalho que fizemos em: <a title="Aplicação “mestre detalhe” em Rails 3.2.1" href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/" target="_blank">Aplicação &#8220;mestre detalhe&#8221; em Rails 3.2.1</a></li>
</ul>
<h2>V &#8211; Sequência de passos para utilização</h2>
<p><strong>Passo 01 &#8211; Entre na aplicação que criamos anteriormente</strong></p>
<div>
<pre>$ cd service_desk</pre>
</div>
<p><strong>Passo 02 &#8211; Gemfile: adicione as gems necessárias</strong></p>
<div>
<div>
<ul>
<li><span style="color:#000080;">Ajuste seu <span style="text-decoration:underline;">arquivo Gemfile</span> para que fique assim:</span></li>
</ul>
<pre>gem 'devise', '2.0.0'</pre>
<p><strong>Passo 03 &#8211; Execute o bundle</strong></p>
<div>
<div>
<pre>$ bundle install</pre>
<p><strong>Passo 04 &#8211; Crie uma nova página inicial para este app</strong></p>
<pre>$ rails g controller Pages index
$ rm public/index.html</pre>
<p><strong>Passo 05 &#8211; Acrescente a autenticação pelo Devise</strong></p>
<pre>$ rails g devise:install
$ rails g devise user</pre>
</div>
</div>
<ul>
<li><span style="color:#000080;">Estes comandos vão gerar os seguintes arquivos:</span>
<ul>
<li>config/initializers/devise.rb</li>
<li>config/locales/devise.en.yml</li>
<li>db/migrate/&#8230;&#8230;&#8230;&#8230;.._devise_create_users.rb</li>
<li>app/models/user.rb</li>
<li>e dentro do arquivo &#8220;route&#8221;:  devise_for :users</li>
</ul>
</li>
</ul>
<ul>
<li><span style="color:#000080;">Ajuste o arquivo app/mode/user.rb para que fique da seguinte maneira:</span></li>
</ul>
<pre>class User &lt; ActiveRecord::Base
  devise :database_authenticatable, :registerable,
    :recoverable, :rememberable, :trackable, :validatable,
    :token_authenticatable, :confirmable, :lockable, :timeoutable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me, :confirmed_at
end</pre>
<ul>
<li><span style="color:#000080;">Copie e cole a migration gerada para User. Está em db/migrate/&#8230;&#8230;._devise_create_users.rb:</span></li>
</ul>
<pre>class DeviseCreateUsers &lt; ActiveRecord::Migration   
  def change     create_table(:users) do |t|
      ## Database authenticatable
      t.string :email,              :null =&gt; false, :default =&gt; ""
      t.string :encrypted_password, :null =&gt; false, :default =&gt; ""

      ## Recoverable
      t.string   :reset_password_token
      t.datetime :reset_password_sent_at

      ## Rememberable
      t.datetime :remember_created_at

      ## Trackable
      t.integer  :sign_in_count, :default =&gt; 0
      t.datetime :current_sign_in_at
      t.datetime :last_sign_in_at
      t.string   :current_sign_in_ip
      t.string   :last_sign_in_ip

      ## Encryptable
      t.string :password_salt

      ## Confirmable
      t.string   :confirmation_token
      t.datetime :confirmed_at
      t.datetime :confirmation_sent_at
      t.string   :unconfirmed_email # Only if using reconfirmable

      ## Lockable
      t.integer  :failed_attempts, :default =&gt; 0 # Only if lock strategy is :failed_attempts
      t.string   :unlock_token # Only if unlock strategy is :email or :both
      t.datetime :locked_at

      ## Token authenticatable
      t.string :authentication_token

      t.timestamps
    end

    add_index :users, :email,                :unique =&gt; true
    add_index :users, :reset_password_token, :unique =&gt; true
    add_index :users, :confirmation_token,   :unique =&gt; true
    add_index :users, :unlock_token,         :unique =&gt; true
    add_index :users, :authentication_token, :unique =&gt; true
  end</pre>
<ul>
<li><span style="color:#000080;">O comando abaixo irá executar a migração de dados (migration) e criar a tabela de usuários:</span></li>
</ul>
<pre>$ bundle exec rake db:migrate</pre>
<ul>
<li><span style="color:#000080;">Repare que na resposta do comando de migração de dados, foi criada automaticamente uma chave única (:unique=&gt;true) para evitar a repetição do email do usuário.</span></li>
</ul>
<pre>== DeviseCreateUsers: migrating ==============================================
-- create_table(:users)
-&gt; 0.0469s
-- add_index(:users, :email, {:unique=&gt;true})
-&gt; 0.0012s
-- add_index(:users, :reset_password_token, {:unique=&gt;true})
-&gt; 0.0011s
== DeviseCreateUsers: migrated (0.0593s) =====================================</pre>
<ul>
<li><span style="color:#000080;">Agora crie uma verificação para que a página inicial do app, nos direcione para a página de login se o usuário não estiver logado.</span></li>
<li><span style="color:#000080;">No arquivo app/controllers/pages_controller.rb, inclua a linha &#8220;before_filter :authenticate_user!&#8221;</span></li>
</ul>
<pre>class PagesController &lt; ApplicationController
  before_filter :authenticate_user!

  def index
  end

end</pre>
<ul>
<li><span style="color:#000080;">No arquivo config/environments/development.rb, acrecente as seguintes linhas</span></li>
</ul>
<pre>config.action_mailer.default_url_options = { :host =&gt; 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:enable_starttls_auto =&gt; true,
:address =&gt; 'smtp.gmail.com',
:port =&gt; '587',
:authentication =&gt; :plain,
:domain =&gt; 'gmail.com',
:user_name =&gt; 'joao_da_silva',
:password =&gt; '123456'
}</pre>
<p><strong>Passo 06 &#8211; Ajuste o layout</strong></p>
<ul>
<li><span style="color:#000080;">Certifique-se que seu arquivo app/views/layouts/application.html.rb, esteja igual ao seguinte</span></li>
</ul>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Service Desk&lt;/title&gt;
    &lt;%= stylesheet_link_tag "application", :media =&gt; "all"  %&gt;
    &lt;%= javascript_include_tag "application" %&gt;
    &lt;%= csrf_meta_tags %&gt;
  &lt;/head&gt;

  &lt;body&gt;
    &lt;header&gt;
      &lt;h1&gt;Service Desk | Tickets Controller&lt;/h1&gt;
    &lt;/header&gt;
    &lt;nav&gt;
      &lt;% if user_signed_in? %&gt;
        Signed in as &lt;%= current_user.email %&gt;
        &lt;%= link_to "Sign out", destroy_user_session_path, :method =&gt; :delete %&gt;
      &lt;% else %&gt;
        &lt;%= link_to "Sign up", new_user_registration_path %&gt;
        &lt;%= link_to "Sign in", new_user_session_path %&gt;
      &lt;% end %&gt;
    &lt;/nav&gt;
    &lt;section id="main"&gt;
      &lt;div class="flash"&gt;
        &lt;% flash.each do |type, message| -%&gt;
          &lt;div class="message &lt;%= type %&gt;"&gt;
            &lt;p&gt;&lt;%= message %&gt;&lt;/p&gt;
          &lt;/div&gt;
        &lt;% end -%&gt;
      &lt;/div&gt;
      &lt;%= yield %&gt;
    &lt;/section&gt;
    &lt;footer&gt;
      &lt;sub&gt;Service Desk | Ticket Controller Web Application&lt;/sub&gt;
    &lt;/footer&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<h3><strong>Passo 07 &#8211; Ajuste a página principal</strong></h3>
<ul>
<li><span style="color:#000080;">Certifique-se que seu arquivo app/views/pages/index.html.rb, esteja igual ao seguinte</span></li>
</ul>
<pre>&lt;h1&gt;Home&lt;/h1&gt;

&lt;%= link_to 'Tickets', tickets_path %&gt;</pre>
<h3><strong>Passo 08 &#8211; Adicione um desvio da página dos tickets para a página principal e ajuste as rotas.</strong></h3>
<ul>
<li><span style="color:#000080;">Certifique-se que seu arquivo app/views/tickets/index.html.rb, as duas últimas linhas sejam as seguintes</span></li>
</ul>
<pre>&lt;%= link_to 'New Ticket', new_ticket_path %&gt; |
&lt;%= link_to 'Home', root_path %&gt;</pre>
<div>
<ul>
<li><span style="color:#000080;">No arquivo config/routes.rb, garanta que suas rotas estejam como abaixo</span></li>
</ul>
<div>
<pre>resources :tickets
devise_for :users
root :to =&gt; "pages#index"</pre>
</div>
</div>
</div>
<h3><strong>Passo 09 &#8211; Execute a aplicação localmente</strong></h3>
<ul>
<li><span style="color:#000080;">Execute o servidor e carregue o browser e na linha de endereços digite <a href="http://localhost:3000" rel="nofollow">http://localhost:3000</a></span></li>
</ul>
<pre>$ rails server

http://localhost:3000</pre>
<h2>VI &#8211; Final Feliz</h2>
<blockquote><p>Pronto!<br />
Fizemos o básico para implementar uma <a title="autenticação" href="http://pt.wikipedia.org/wiki/Autentica%C3%A7%C3%A3o" target="_blank">autenticação</a> simples num app web com a gem <a title="Devise" href="https://github.com/plataformatec/devise" target="_blank">Devise</a> usando Rails versão 3.2.1.</p></blockquote>
<h2>VII &#8211; Referências</h2>
<p>(1) <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10<br />
</a>(2) <a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</a><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank"><br />
</a>(3) <a title="Aplicação “mestre detalhe” em Rails 3.2.1" href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/" target="_blank">Aplicação &#8220;mestre detalhe&#8221; em Rails 3.2.1</a></p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1794/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1794&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2012/02/07/autenticacao-em-ruby-on-rails-3-2-1-com-devise/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Aplicação &#8220;mestre detalhe&#8221; em Rails 3.2.1</title>
		<link>http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/</link>
		<comments>http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 12:58:42 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[deploy]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[master-detail]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Rails 3.2.1]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1859</guid>
		<description><![CDATA[I &#8211; Introdução Neste post vamos mostrar os pontos mais importantes, comumente usados ao criarmos um app web usando o formato &#8220;mestre detalhe&#8221; Vamos criar uma aplicação web para controle de chamados (tickets), muito comum em ambientes como um Service Desk, que será o nome de nossa aplicação. Para cada ticket, existem várias tarefas associadas, &#8230; <a href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1859&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>I &#8211; Introdução</h2>
<ul>
<li>Neste post vamos mostrar os pontos mais importantes, comumente usados ao criarmos um app web usando o formato &#8220;mestre detalhe&#8221;</li>
<li>Vamos criar uma aplicação web para controle de chamados (tickets), muito comum em ambientes como um Service Desk, que será o nome de nossa aplicação.</li>
<li>Para cada ticket, existem várias tarefas associadas, que chamamos aqui de tasks.</li>
<li>A continuação deste artigo está em <a title="Autenticação em Ruby On Rails 3.2.1 com Devise" href="http://digitalareablog.wordpress.com/2012/02/07/autenticacao-em-ruby-on-rails-3-2-1-com-devise/" target="_blank">Autenticação em Ruby On Rails 3.2.1 com Devise</a>.</li>
</ul>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.2</li>
<li>Rails 3.2.1</li>
</ul>
<h2>III &#8211; O que não precisamos instalar</h2>
<ul>
<li>Git, RVM, openssl, sqlite3 e outros pacotes necessários.</li>
<li>Como dependemos de instalações e configurações anteriores, caso seu ambiente não esteja preparado, veja os posts:
<ol>
<li><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a></li>
<li><a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</a>.</li>
<li><a title="Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)" href="http://digitalareablog.wordpress.com/2012/01/18/ruby-on-rails-3-1-3-com-a-gem-nifty-generators-compatibilizando/" target="_blank">Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)</a> (opcional)</li>
</ol>
</li>
<li><span style="line-height:24px;font-size:medium;">Para instalar a versão do Rails 3.2.1, siga o tutorial acima (item 1 e 2). Apenas informe a versão do Rails 3.2.1 no lugar das versões anteriores.</span></li>
</ul>
<h2>IV &#8211; Sequência de passos para criação</h2>
<p><strong>Passo 01 - Crie a aplicação </strong></p>
<pre>$ rails new service_desk
$ cd service_desk
<strong></strong></pre>
<p><strong>Passo 02 - Ajuste seu arquivo Gemfile</strong></p>
<ul>
<li><span style="color:#000080;">Acrescente as linhas abaixo no arquivo Gemfile</span></li>
</ul>
<pre>gem 'execjs'    # necessário para Linux
gem 'therubyracer'  # necessário para Linux</pre>
<ul>
<li><span style="color:#000080;">em seguida&#8230;</span></li>
</ul>
<pre>$ bundle install</pre>
<p><strong>Passo 03 &#8211; Crie os models da aplicação e execute as migrations</strong></p>
<pre>$ rails g scaffold ticket ticket_number:string:uniq title:string
$ rails g model task description:string ticket:belongs_to
$ bundle exec rake db:migrate</pre>
<p><strong>Passo 04 &#8211; Ajuste os models Ticket e Task conforme estão a seguir </strong></p>
<pre><strong></strong>class Ticket
  has_many :tasks
  attr_accessible :ticket_number, :title, :tasks_attributes
  validates :ticket_number, presence: true
  accepts_nested_attributes_for :tasks, :reject_if =&gt; proc { |a| a[:description].blank? }, allow_destroy: true
end 

class Task
  belongs_to :ticket
  attr_accessible :description
end</pre>
<p><strong>Passo 05 &#8211; Copie e cole o arquivo application.html.erb, que está a seguir</strong><strong></strong></p>
<ul>
<li><span style="color:#333399;">app/views/layouts/application.html.erb  </span></li>
</ul>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Service Desk&lt;/title&gt;
    &lt;%= stylesheet_link_tag "application" %&gt;
    &lt;%= javascript_include_tag "application" %&gt;
    &lt;%= csrf_meta_tags %&gt;
  &lt;/head&gt;

  &lt;body&gt;
    &lt;header&gt;
      &lt;h1&gt;Service Desk | Tickets Controller&lt;/h1&gt;
    &lt;/header&gt;
    &lt;section id="main"&gt;
      &lt;%= yield %&gt;
    &lt;/section&gt;
    &lt;footer&gt;
      &lt;sub&gt;Service Desk | Ticket Controller Web Application&lt;/sub&gt;
    &lt;/footer&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
<p><strong>Passo 06 &#8211; Ajustes para mostrar as tarefas (Tasks)</strong></p>
<ul>
<li><span style="color:#000080;">Em app/views/tickets/_form.html.erb, adicione o trecho abaixo, antes do botão submit:</span></li>
</ul>
<pre>&lt;hr/&gt;
 &lt;h2&gt;Task&lt;/h2&gt;
 &lt;table&gt;
   &lt;tr&gt;&lt;th&gt;Task&lt;/th&gt;&lt;th&gt;destroy ?&lt;/th&gt;&lt;/tr&gt;
   &lt;% @ticket.tasks.each do |tsk| %&gt;
     &lt;%= f.fields_for :tasks, tsk do |tsk| %&gt;
       &lt;%= render :partial =&gt; 'task', locals: {t: tsk} %&gt;
     &lt;% end %&gt;
   &lt;% end %&gt;
 &lt;/table&gt;
 &lt;hr/&gt;</pre>
<ul>
<li><span style="color:#000080;">Crie um arquivo: app/views/tickets/_task.html.erb</span></li>
<li><span style="color:#000080;">Copie e cole o seguinte conteúdo</span></li>
</ul>
<pre>&lt;tr&gt;
   &lt;td class="field"&gt;
     &lt;%= t.text_field :description %&gt;
   &lt;/td&gt;
   &lt;td&gt;
     &lt;%= t.check_box :_destroy %&gt;
   &lt;/td&gt;
 &lt;/tr&gt;</pre>
<p><strong>Passo 07 &#8211; Ajustes para exibição de Ticket e Tasks</strong></p>
<ul>
<li><span style="color:#000080;">Em app/views/tickets/show.html.erb</span></li>
<li><span style="color:#000080;">Substitua o que estiver abaixo do campo title, pelo seguinte trecho de código</span></li>
</ul>
<pre>&lt;hr/&gt;
 &lt;h2&gt;Task&lt;/h2&gt;
 &lt;table&gt;
   &lt;tr&gt;
     &lt;th&gt;Task
     &lt;/th&gt;
   &lt;/tr&gt;
   &lt;% @ticket.tasks.each do |tsk| %&gt;
     &lt;tr&gt;
       &lt;td class="field"&gt;
         &lt;%= tsk.description %&gt;
       &lt;/td&gt;
     &lt;/tr&gt;
   &lt;% end %&gt;
 &lt;/table&gt;
 &lt;hr/&gt;
&lt;%= link_to 'New Ticket', new_ticket_path %&gt; |
&lt;%= link_to 'Edit', edit_ticket_path(@ticket) %&gt; |
&lt;%= link_to 'View All', tickets_path %&gt;</pre>
<p><strong>Passo 08 &#8211; Ajuste as actions New e Edit </strong></p>
<ul>
<li><span style="color:#000080;">Em app/controllers/tickets_controller.rb</span></li>
<li><span style="color:#000080;">Ajuste as actions New e Edit para que fiquem como a seguir</span></li>
</ul>
<pre>def new
 @ticket = Ticket.new
 @ticket.tasks.build
 respond_to do |format|
   format.html # new.html.erb
   format.json { render json: @ticket }
 end
end

def edit
 @ticket = Ticket.find(params[:id])
 @ticket.tasks.build
end</pre>
<h2>V &#8211; Executando a aplicação</h2>
<ul>
<li><span style="color:#000080;">Para ver o resultado localmente. </span></li>
</ul>
<pre>$ rails s</pre>
<ul>
<li><span style="color:#000080;">Carregue o browser, e digite na linha de endereços: <a href="http://localhost:3000/tickets" rel="nofollow">http://localhost:3000/tickets</a></span></li>
</ul>
<h2>VI &#8211; Final Feliz</h2>
<blockquote><p>Pronto! Fizemos o básico para iniciarmos um novo projeto usando Ruby On Rails 3.2.1 no Linux Ubuntu 11.10. A aplicação funciona mantendo dois Models: Ticket e Tasks, num formulário tipo mestre-detalhe.</p></blockquote>
<h2>VII &#8211; Referências</h2>
<p>(1) <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10<br />
</a>(2) <a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/" target="_blank">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2</a><a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/" target="_blank"> </a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1859/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1859&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Aplicação &#8220;mestre detalhe&#8221; em Rails 3.1.3</title>
		<link>http://digitalareablog.wordpress.com/2012/01/24/aplicacao-mestre-detalhe-em-rails-3-1-3/</link>
		<comments>http://digitalareablog.wordpress.com/2012/01/24/aplicacao-mestre-detalhe-em-rails-3-1-3/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 02:59:07 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[deploy]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[master-detail]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Rails 3.1.3]]></category>
		<category><![CDATA[Rals 3.1]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1806</guid>
		<description><![CDATA[I &#8211; Introdução Neste post vamos mostrar os pontos mais importantes comumente usados ao criarmos um app web usando o formato &#8220;mestre detalhe&#8221;. Vamos criar uma aplicação web para controle de chamados (tickets), muito comum em ambientes como um Service Desk, que será o nome de nossa aplicação. Para cada ticket, existem várias tarefas associadas, &#8230; <a href="http://digitalareablog.wordpress.com/2012/01/24/aplicacao-mestre-detalhe-em-rails-3-1-3/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1806&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>I &#8211; Introdução</h2>
<ul>
<li>Neste post vamos mostrar os pontos mais importantes comumente usados ao criarmos um app web usando o formato &#8220;mestre detalhe&#8221;.</li>
<li>Vamos criar uma aplicação web para controle de chamados (tickets), muito comum em ambientes como um Service Desk, que será o nome de nossa aplicação.</li>
<li>Para cada ticket, existem várias tarefas associadas, que chamamos aqui de tasks.</li>
<li>Se preferir usar o Rails versão 3.2.1, vá para este <a title="Aplicação “mestre detalhe” em Rails 3.2.1" href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/">post</a>.</li>
</ul>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.2</li>
<li>Rails 3.1.3</li>
</ul>
<h2>III &#8211; O que não precisamos instalar</h2>
<ul>
<li>Git, RVM, openssl, sqlite3 e outros pacotes necessários.</li>
<li>Como dependemos de instalações e configurações anteriores, caso seu ambiente não esteja preparado, veja os posts:
<ul>
<li><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a></li>
<li><a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</a>.</li>
<li><a title="Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)" href="http://digitalareablog.wordpress.com/2012/01/18/ruby-on-rails-3-1-3-com-a-gem-nifty-generators-compatibilizando/" target="_blank">Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)</a> (opcional)</li>
</ul>
</li>
</ul>
<h2>IV &#8211; Sequência de passos para criação</h2>
<p><strong>Passo 01 - Crie a aplicação </strong></p>
<pre>$ rails new service_desk
$ cd service_desk
<strong></strong></pre>
<p><strong>Passo 02 - Ajuste seu arquivo Gemfile</strong></p>
<ul>
<li><span style="color:#000080;">Acrescente as linhas abaixo no arquivo Gemfile</span></li>
</ul>
<pre>gem 'execjs'    # necessário para Linux
gem 'therubyracer'  # necessário para Linux</pre>
<ul>
<li><span style="color:#000080;">em seguida&#8230;</span></li>
</ul>
<pre>$ bundle install</pre>
<p><strong>Passo 03 &#8211; Crie os models da aplicação e execute as migrations</strong></p>
<pre>$ rails g scaffold ticket ticket_number:string title:string
$ rails g model task description:string ticket:belongs_to
$ bundle exec rake db:migrate</pre>
<p><strong>Passo 04 &#8211; Ajuste os models Ticket e Task conforme estão a seguir </strong></p>
<pre><strong></strong>class Ticket
  has_many :tasks
  attr_accessible :ticket_number, :title, :tasks_attributes
  validates :ticket_number, presence: true
  accepts_nested_attributes_for :tasks, :reject_if =&gt; proc { |a| a[:description].blank? }, allow_destroy: true
end 

class Task
  belongs_to :ticket
  attr_accessible :description
end</pre>
<p><strong>Passo 05 &#8211; Copie e cole o arquivo application.html.erb, que está a seguir</strong><strong></strong></p>
<ul>
<li><span style="color:#333399;">app/views/layouts/application.html.erb  </span></li>
</ul>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Service Desk&lt;/title&gt;
    &lt;%= stylesheet_link_tag "application" %&gt;
    &lt;%= javascript_include_tag "application" %&gt;
    &lt;%= csrf_meta_tags %&gt;
  &lt;/head&gt;

  &lt;body&gt;
    &lt;header&gt;
      &lt;h1&gt;Service Desk | Tickets Controller&lt;/h1&gt;
    &lt;/header&gt;
    &lt;section id="main"&gt;
      &lt;%= yield %&gt;
    &lt;/section&gt;
    &lt;footer&gt;
      &lt;sub&gt;Service Desk | Ticket Controller Web Application&lt;/sub&gt;
    &lt;/footer&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
<p><strong>Passo 06 &#8211; Ajustes para mostrar as tarefas (Tasks)</strong></p>
<ul>
<li><span style="color:#000080;">Em app/views/tickets/_form.html.erb, adicione o trecho abaixo, antes do botão submit:</span></li>
</ul>
<pre>&lt;hr/&gt;
 &lt;h2&gt;Task&lt;/h2&gt;
 &lt;table&gt;
   &lt;tr&gt;&lt;th&gt;Task&lt;/th&gt;&lt;th&gt;destroy ?&lt;/th&gt;&lt;/tr&gt;
   &lt;% @ticket.tasks.each do |tsk| %&gt;
     &lt;%= f.fields_for :tasks, tsk do |tsk| %&gt;
       &lt;%= render :partial =&gt; 'task', locals: {t: tsk} %&gt;
     &lt;% end %&gt;
   &lt;% end %&gt;
 &lt;/table&gt;
 &lt;hr/&gt;</pre>
<ul>
<li><span style="color:#000080;">Crie um arquivo: app/views/tickets/_task.html.erb</span></li>
<li><span style="color:#000080;">Copie e cole o seguinte conteúdo</span></li>
</ul>
<pre>&lt;tr&gt;
   &lt;td class="field"&gt;
     &lt;%= t.text_field :description %&gt;
   &lt;/td&gt;
   &lt;td&gt;
     &lt;%= t.check_box :_destroy %&gt;
   &lt;/td&gt;
 &lt;/tr&gt;</pre>
<p><strong>Passo 07 &#8211; Ajustes para exibição de Ticket e Tasks</strong></p>
<ul>
<li><span style="color:#000080;">Em app/views/tickets/show.html.erb</span></li>
<li><span style="color:#000080;">Substitua o que estiver abaixo do campo title, pelo seguinte trecho de código</span></li>
</ul>
<pre>&lt;hr/&gt;
 &lt;h2&gt;Task&lt;/h2&gt;
 &lt;table&gt;
   &lt;tr&gt;
     &lt;th&gt;Task
     &lt;/th&gt;
   &lt;/tr&gt;
   &lt;% @ticket.tasks.each do |tsk| %&gt;
     &lt;tr&gt;
       &lt;td class="field"&gt;
         &lt;%= tsk.description %&gt;
       &lt;/td&gt;
     &lt;/tr&gt;
   &lt;% end %&gt;
 &lt;/table&gt;
 &lt;hr/&gt;
&lt;%= link_to 'New Ticket', new_ticket_path %&gt; |
&lt;%= link_to 'Edit', edit_ticket_path(@ticket) %&gt; |
&lt;%= link_to 'View All', tickets_path %&gt;</pre>
<p><strong>Passo 08 &#8211; Ajuste as actions New e Edit </strong></p>
<ul>
<li><span style="color:#000080;">Em app/controllers/tickets_controller.rb</span></li>
<li><span style="color:#000080;">Ajuste as actions New e Edit para que fiquem como a seguir</span></li>
</ul>
<pre>def new
 @ticket = Ticket.new
 @ticket.tasks.build
 respond_to do |format|
   format.html # new.html.erb
   format.json { render json: @ticket }
 end
end

def edit
 @ticket = Ticket.find(params[:id])
 @ticket.tasks.build
end</pre>
<h2>V &#8211; Executando a aplicação</h2>
<ul>
<li><span style="color:#000080;">Para ver o resultado localmente. </span></li>
</ul>
<pre>$ rails s</pre>
<ul>
<li><span style="color:#000080;">Carregue o browser, e digite na linha de endereços: <a href="http://localhost:3000/tickets" rel="nofollow">http://localhost:3000/tickets</a></span></li>
</ul>
<h2>VI &#8211; Final Feliz</h2>
<blockquote><p>Pronto! Fizemos o básico para iniciarmos um novo projeto usando Ruby On Rails 3.1.3 no Linux Ubuntu 11.10. A aplicação funciona mantendo dois Models, Ticket e Tasks, num formulário tipo mestre-detalhe.</p></blockquote>
<h2>VII &#8211; Referências</h2>
<p>(1) <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10<br />
</a>(2) <a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/" target="_blank">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2<br />
</a>(3) <a title="Aplicação “mestre detalhe” em Rails 3.2.1" href="http://digitalareablog.wordpress.com/2012/02/07/aplicacao-mestre-detalhe-em-rails-3-2-1/">Aplicação &#8220;mestre detalhe&#8221; em Rails 3.2.1</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1806/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1806&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2012/01/24/aplicacao-mestre-detalhe-em-rails-3-1-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby On Rails 3.1.3 com a gem Nifty Generators (compatibilizando)</title>
		<link>http://digitalareablog.wordpress.com/2012/01/18/ruby-on-rails-3-1-3-com-a-gem-nifty-generators-compatibilizando/</link>
		<comments>http://digitalareablog.wordpress.com/2012/01/18/ruby-on-rails-3-1-3-com-a-gem-nifty-generators-compatibilizando/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 20:31:51 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[gem]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[nifty-generators]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Rails 3.1]]></category>
		<category><![CDATA[Rails 3.1.3]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1771</guid>
		<description><![CDATA[I &#8211; Introdução Neste post vamos mostrar como usar a gem Nifty Generators com o Rails versão 3.1.x. Da autoria de Ryan Bates, a gem Nifty Generators, cria, entre outras coisas, um scaffold estilizado, muito útil para servir como base para uma aplicação. Compatibilidade A gem Nifty Generators ainda não está compatível com o Rails versão 3.1.x, então faremos alguns &#8230; <a href="http://digitalareablog.wordpress.com/2012/01/18/ruby-on-rails-3-1-3-com-a-gem-nifty-generators-compatibilizando/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1771&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>I &#8211; Introdução</h2>
<p>Neste post vamos mostrar como usar a gem <a title="nifty-generators" href="https://github.com/ryanb/nifty-generators" target="_blank">Nifty Generators</a> com o Rails versão 3.1.x.</p>
<p>Da autoria de Ryan Bates, a gem <a title="nifty-generators" href="https://github.com/ryanb/nifty-generators" target="_blank">Nifty Generators</a>, cria, entre outras coisas, um scaffold estilizado, muito útil para servir como base para uma aplicação.</p>
<p><span style="color:#000000;"><strong>Compatibilidade<br />
</strong></span>A gem <a title="nifty-generators" href="https://github.com/ryanb/nifty-generators" target="_blank">Nifty Generators</a> ainda <span style="text-decoration:underline;">não está compatível</span> com o Rails versão 3.1.x, então faremos alguns <span style="text-decoration:underline;">procedimentos temporários</span> até que os dois estejam compatíveis.</p>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.2</li>
<li>Rails 3.1.3</li>
<li>gem <a title="nifty-generators" href="https://github.com/ryanb/nifty-generators" target="_blank">Nifty Generators</a></li>
</ul>
<h2>III &#8211; O que não precisamos instalar</h2>
<ul>
<li>Git, RVM, openssl, sqlite3 e outros pacotes necessários.</li>
<li>Como dependemos de instalações e configurações anteriores, caso seu ambiente não esteja preparado, veja os posts:
<ul>
<li><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a></li>
<li><a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</a>.</li>
</ul>
</li>
</ul>
<h2>IV &#8211; Sequência de passos para utilização</h2>
<p><strong>Passo 01 &#8211; Crie uma aplicação</strong></p>
<div>
<div>
<pre>$ rails new people
$ cd people</pre>
</div>
</div>
<p><strong>Passo 02 &#8211; Gemfile: adicione as gems necessárias</strong></p>
<div>
<div>
<ul>
<li>Ajuste seu <span style="text-decoration:underline;">arquivo Gemfile</span> para que fique assim:</li>
</ul>
<pre>gem 'execjs'    # necessário para Linux
gem 'therubyracer'  # necessário para Linux

group :test do
  # Pretty printed test output
  gem 'turn', '0.8.2', :require =&gt; false
  gem "mocha"
end

group :development do
  gem "nifty-generators"
end</pre>
<p><strong>Passo 03 &#8211; Execute o bundle</strong></p>
<div>
<div>
<pre>$ bundle install</pre>
<p><strong>Passo 04 &#8211; Gere o layout e execute alguns comandos</strong></p>
<div>
<div>
<pre>$ rails generate nifty:layout
$ mv public/stylesheets/application.css app/assets/stylesheets
$ rm -r public/stylesheets/</pre>
<p><strong>Passo 05 &#8211; Ajuste seu arquivo de layout</strong></p>
<p>Ajuste no seu arquivo <span style="text-decoration:underline;">app/views/layouts/application.html.erb</span> para que fique com as linhas abaixo:</p>
<div>
<div>
<pre>&lt;%= stylesheet_link_tag "application" %&gt;
&lt;%= javascript_include_tag "application" %&gt;</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<h3><strong>Passo 06 &#8211; Gere o scaffold com a gem Nifty Generators</strong></h3>
<div>
<div>
<div>
<div>
<div>
<div>
<pre>$ rails generate nifty:scaffold person name:string
$ bundle exec rake db:migrate</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<h3><strong>Passo 07 &#8211; Ajuste as rotas para o controlador</strong></h3>
<p>No arquivo config/routes.rb adicione a linha abaixo</p>
<div>
<div>
<div>
<div>
<div>
<div>
<pre>root :to =&gt; "people#index"</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<h3><strong>Passo 08 &#8211; Execute o servidor localmente</strong></h3>
<div>
<div>
<div>
<div>
<div>
<div>
<pre>$ rm public/index.html
$ rails server</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<ul>
<li>Carregue o browser, e digite na linha de endereços:
<p><a href="http://localhost:3000" rel="nofollow">http://localhost:3000</a></li>
</ul>
<h2>V &#8211; Final Feliz</h2>
<blockquote><p>Pronto!<br />
Fizemos o básico para iniciarmos um novo projeto usando Ruby On Rails 3.1.3 no Linux Ubuntu 11.10 com adaptações temporárias, usando a gem Nifty Generators.<br />
Quando esta gem já estiver compatibilizada com versões do Rails 3.1.x não haverá mais necessidade de usar este passo a passo.</p></blockquote>
<h2>VI &#8211; Referências</h2>
<p>(1) <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10<br />
</a>(2) <a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto – versão 2" href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</a><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank"><br />
</a>(3) <a href="http://passbyvalue.com/2011/11/getting-started-with-heroku-and-rails-3-1/" target="_blank">http://passbyvalue.com/2011/11/getting-started-with-heroku-and-rails-3-1/</a><a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank"> </a></p>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1771/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1771/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1771&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2012/01/18/ruby-on-rails-3-1-3-com-a-gem-nifty-generators-compatibilizando/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto &#8211; versão 2</title>
		<link>http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/</link>
		<comments>http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 21:36:24 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[deploy]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1731</guid>
		<description><![CDATA[I &#8211; Introdução Neste post vamos mostrar os pontos mais importantes comumente usados ao iniciar um novo projeto em Ruby On Rails, mas agora de maneira mais específica, pois já falamos sobre este assunto anteriormente neste post: Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto. II &#8211; Principais tecnologias usadas neste artigo &#8230; <a href="http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1731&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>I &#8211; Introdução</h2>
<p>Neste post vamos mostrar os pontos mais importantes comumente usados ao iniciar um novo projeto em Ruby On Rails, mas agora de maneira mais específica, pois já falamos sobre este assunto anteriormente neste post: <a title="Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto" href="http://digitalareablog.wordpress.com/2011/12/27/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto/" target="_blank">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto</a>.</p>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.2</li>
<li>Rails 3.1.3</li>
<li><a title="RVM" href="https://rvm.beginrescueend.com/" target="_blank">RVM</a></li>
<li><a title="BitBucket" href="www.bitbucket.org" target="_blank">BitBucket</a> site de hosting de aplicações, onde vamos armazenar os fontes</li>
<li><a title="Wenbynode" href="http://webbynode.com/" target="_blank">Webbynode</a> site onde vamos distribuir  (deployment) o app que vamos criar.</li>
</ul>
<h2>III &#8211; O que não precisamos instalar</h2>
<ul>
<li>Git, RVM, openssl, sqlite3 e outros pacotes necessários.</li>
<li>Como dependemos de instalações e configurações anteriores, veja o post  <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a> para garantir que o ambiente está preparado.</li>
</ul>
<h2>IV &#8211; Sequência de passos para instalação</h2>
<p><strong>Passo 01 - Instalação do Ruby versão 1.9.2</strong></p>
<ul>
<li>Para verificar a versão atual acesse: <a href="http://www.ruby-lang.org/en/downloads/" target="_blank">http://www.ruby-lang.org/en/downloads/</a></li>
<li>Para verificar se a versão do Ruby 1.9.2 já está instalado em seu ambiente use:<br />
$ rvm list rubies</li>
<li>Para instalar o Ruby vamos usar o <a title="RVM" href="https://rvm.beginrescueend.com/" target="_blank">RVM</a>, o gerenciador de versões Ruby, instalado anteriormente.</li>
</ul>
<p>$ rvm install 1.9.2 (vai demorar)<br />
$ rvm list<br />
$ rvm use 1.9.2 (ou &#8220;rvm &#8211;default use 1.9.2&#8243; torna esta, a versão default neste ambiente)<br />
$ rvm list<br />
$ ruby &#8211;version (versão do Ruby que você está usando)</p>
<p><strong>Passo 02 &#8211; Atualize Rake e RubyGems</strong></p>
<ul>
<li>Vamos atualizar o Rake</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/gems/rake" target="_blank">http://rubygems.org/gems/rake<br />
</a></li>
</ul>
<p>$ rake &#8211;version (Para ver a versão do Rake. O Rake versão 0.9.2.2 vem com o Ruby 1.9.3)<br />
$ gem update rake<br />
$ rake &#8211;version</p>
<ul>
<li>Agora vamos atualizar o RubyGems</li>
<li>O RubyGems é um gerenciador de pacotes padrão que vem como parte da instalação do Ruby.</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/pages/download" target="_blank">http://rubygems.org/pages/download</a></li>
</ul>
<p>$ gem &#8211;version (versão do RubyGem que você está usando. Deve ser versão 1.8.11 ou mais atual)<br />
$ gem update &#8211;system<br />
$ gem &#8211;version</p>
<p><strong>Passo 03 &#8211; Crie e use um novo gemset para cada um de seus projetos</strong></p>
<ul>
<li>É uma boa idéia usar um gemset específico para cada um dos seus projetos, juntamente com o seu arquivo Gemfile específico.</li>
<li>Desta forma, apesar de você atualizar as gems de um &#8220;ProjectA&#8221; através da atualização para gems mais recentes, as mesmas gems não mudarão para o &#8220;ProjectB&#8221; &#8211; eliminando a possibilidade de interferência de gems, entre os projetos.</li>
</ul>
<p>$ rvm list gemsets (para ver uma lista das versões de Ruby e gemsets instalados)<br />
$ rvm gemset create gemset_myproject  (crie um gemset para este projeto)<br />
$ rvm use ruby-1.9.2-p290@gemset_myproject<br />
$ rvm list gemsets<br />
$ ls -l ~/.rvm/gems/ruby-1.9.2-p290@gemset_myproject (para consultar as gems instaladas nesse novo gemset. Por enquanto deve estar vazio)<br />
$ gem list &#8211;local (traz a mesma informação anterior)</p>
<p><strong> Passo 04 &#8211; Instalação do Rails.</strong></p>
<ul>
<li>Finalmente instale o Rails 3.1.3 dentro da gemset criada anteriormente.</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/gems/rails" target="_blank">http://rubygems.org/gems/rails</a></li>
</ul>
<p>$ rails &#8211;version (Verifique versão do Rails. Vai retornar um erro: você ainda não instalou o Rails)<br />
$ gem install rails &#8211;version 3.1.3 &#8211;no-rdoc &#8211;no-ri (ou &#8220;gem install rails&#8221;, instala a versão atual mais estável do Rails. Os parâmetros &#8220;&#8211;no-rdoc&#8221; e &#8220;&#8211;no-ri&#8221;, não instalam as documentações e são opcionais)<br />
$ rails &#8211;version<br />
$ ls -l ~/.rvm/gems/ruby-1.9.2-p290@gemset_myproject/gems (para consultar as gems instaladas nesse novo gemset. Agora não deve estar vazio)<br />
$ gem list &#8211;local (traz a mesma informação anterior)</p>
<h2>V &#8211; Criando uma aplicação</h2>
<h3><strong>Itens específicos. </strong></h3>
<ul>
<li>Esta parte &#8220;V &#8211; Criando uma aplicação&#8221;, é específica por conta dos seguintes itens que estaremos usando:
<ul>
<li>Hospedagem dos fontes:  <a title="BitBucket" href="www.bitbucket.org" target="_blank">BitBucket</a> (você deve ter uma conta aqui)</li>
<li>Hospedagem do site que estamos criando:  <a title="Wenbynode" href="http://webbynode.com/" target="_blank">Webbynode</a> (você deve ter uma conta aqui).</li>
<li>O banco de dados em ambiente de produção: PostgreSQL.</li>
<li>Web server em ambiente de desenvolvimento: Unicorn.</li>
</ul>
</li>
<li>Você poderá seguir os passos abaixo, ou adaptá-los conforme sua necessidade.</li>
</ul>
<h3><strong>Repositório para hospedar os fontes. </strong></h3>
<ul>
<li><span style="text-decoration:underline;">Crie um repositório no site Bitbucket</span>, que você abriu uma conta para hospedar os fontes.</li>
<li>Para seguir o exemplo o nome do respositório deverá ser &#8220;demo&#8221;.</li>
</ul>
<h3><strong>Sequência de comandos. </strong></h3>
<p>$ rails new demo<br />
$ cd demo<br />
$ gem install webbynode (gem da Webbynode para o deployment)<br />
$ wn webbies  (consulte os lugares disponíveis na Webbynode &#8211; conhecidas como webbies)<br />
$ webbynode init nome_da_webby  (nome_da_webby é o nome da webby escolhido anteriormente)</p>
<ul>
<li><span style="text-decoration:underline;">Acrescente as linhas abaixo no arquivo Gemfile</span> da aplicação demo.</li>
</ul>
<p>gem &#8216;execjs&#8217;    # necessário para Linux<br />
gem &#8216;therubyracer&#8217;  # necessário para Linux<br />
group :production do<br />
gem &#8216;pg&#8217;<br />
end<br />
# Use unicorn as the web server<br />
gem &#8216;unicorn&#8217;</p>
<ul>
<li><span style="text-decoration:underline;">Continuando</span>, execute os comandos abaixo:</li>
</ul>
<p>$ bundle install &#8211;without production<br />
$ rails g scaffold user name:string age:integer<br />
$ bundle exec rake db:migrate<br />
$ bundle exec rake assets:precompile</p>
<ul>
<li><span style="text-decoration:underline;">Você lembra qual a gemset que estamos trabalhando ?</span></li>
<li>Para poupar o trabalho de ajustar a gemset e versão do Ruby cada vez que usar este projeto, podemos deixar que o próprio RVM ajuste isto para nós.</li>
<li>Para isto crie um arquivo na raiz do projeto, chamado &#8220;.rvmrc&#8221;</li>
<li>O conteúdo será:<br />
rvm use ruby-1.9.2-p290@gemset_myproject</li>
</ul>
<ul>
<li><span style="text-decoration:underline;">Continuando</span>, execute os comandos abaixo:</li>
</ul>
<p>$ git init<br />
$ git remote add demo <a href="https://seu_nome_usuario@bitbucket.org/seu_nome_usuario/demo.git" rel="nofollow">https://seu_nome_usuario@bitbucket.org/seu_nome_usuario/demo.git</a><br />
$ git status<br />
$ git add .<br />
$ git commit -am &#8220;created user model, controller, view&#8221;<br />
$ git push demo master:master</p>
<p>$ wn push  # deployment para a Webbynode</p>
<h3><strong>Para ver o resultado localmente. </strong></h3>
<p>$ bundle exec unicorn   # roda na porta 8080</p>
<ul>
<li>Carregue o browser, e digite na linha de endereços:<br />
localhost:8080/users</li>
</ul>
<h3><strong>Para ver o resultado em produção. </strong></h3>
<ul>
<li>Carregue o browser, e digite na linha de endereços:
<p><a href="http://demo.webbyapp.com/users" rel="nofollow">http://demo.webbyapp.com/users</a></li>
</ul>
<h2>VI &#8211; Final Feliz</h2>
<blockquote><p>Pronto!<br />
Fizemos o básico para iniciarmos um novo projeto usando Ruby On Rails 3.1.3 no Linux Ubuntu 11.10.<br />
Agora a aplicação Demo,  funciona em seu browser, permitindo localmente, manipular registros de pessoas e consulta-las, e funciona na internet também, hospedado na Webbynode.</p></blockquote>
<h2>VII &#8211; Referências</h2>
<p>(1) <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10<br />
</a>(2) <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto </a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1731/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1731&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2012/01/03/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto-versao-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto</title>
		<link>http://digitalareablog.wordpress.com/2011/12/27/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto/</link>
		<comments>http://digitalareablog.wordpress.com/2011/12/27/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 19:55:31 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1680</guid>
		<description><![CDATA[Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto. I &#8211; Introdução Neste post vamos mostrar os pontos mais importantes comumente usados ao iniciar um novo projeto em Ruby On Rails. Como dependemos de instalações e configurações anteriores, recomendamos analisar o post Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10 para &#8230; <a href="http://digitalareablog.wordpress.com/2011/12/27/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1680&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2 style="text-align:center;"><strong>Ruby On Rails 3.1.3 no Linux Ubuntu 11.10: Iniciando um novo projeto.</strong></h2>
<h2>I &#8211; Introdução</h2>
<p>Neste post vamos mostrar os pontos mais importantes comumente usados ao iniciar um novo projeto em Ruby On Rails.</p>
<p>Como dependemos de instalações e configurações anteriores, recomendamos analisar o post <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a> para garantir que o ambiente está preparado.</p>
<p>Vamos a sequência de comandos usando o terminal (prompt) do Linux.</p>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.3</li>
<li>Rails 3.1.3</li>
<li>RVM</li>
</ul>
<h2>III &#8211; O que não precisamos instalar</h2>
<ul>
<li>ruby, rake e gem (RubyGems) não precisamos instalar, já que foram instaladas anteriormente. Ver post <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a></li>
<li>Para verificar onde esses arquivos estão, faça:</li>
</ul>
<p>$ ls -l  ~/.rvm/rubies/ruby-1.9.3-p0/bin/</p>
<ul>
<li>Outra verificação que pode ser feita.</li>
<li>Execute abaixo o comando &#8220;rvm list rubies&#8221; para ver uma lista das versões de Ruby instaladas.</li>
</ul>
<p>$ rvm list rubies</p>
<ul>
<li>Caso não apareça o Ruby &#8220;ruby-1.9.3-p0&#8243; siga os passos do post <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a> &#8211; você deve ter o Ruby versão 1.9.3 instalado.</li>
</ul>
<h2>IV &#8211; Sequência de passos para instalação</h2>
<p><strong> Passo 01 &#8211; Mude (use) para o ruby 1.9.3</strong></p>
<ul>
<li>Utilizando o gerenciador de versões Ruby, <a title="RVM" href="https://rvm.beginrescueend.com/" target="_blank">RVM</a>, comece a usar agora o &#8220;ruby-1.9.3-p0&#8243;</li>
</ul>
<p>$ rvm use ruby-1.9.3-p0</p>
<p><strong>Passo 02 &#8211; Atualize Rake e RubyGems</strong></p>
<ul>
<li>Vamos atualizar o Rake</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/gems/rake" target="_blank">http://rubygems.org/gems/rake<br />
</a></li>
</ul>
<p>$ rake &#8211;version (Para ver a versão do Rake. O Rake versão 0.9.2.2 vem com o Ruby 1.9.3)<br />
$ gem update rake<br />
$ rake &#8211;version</p>
<ul>
<li>Agora vamos atualizar o RubyGems</li>
<li>O RubyGems é um gerenciador de pacotes padrão que vem como parte da instalação do Ruby.</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/pages/download" target="_blank">http://rubygems.org/pages/download</a></li>
</ul>
<p>$ gem &#8211;version (versão do RubyGem que você está usando. Deve ser versão 1.8.11 ou mais atual)<br />
$ gem update &#8211;system<br />
$ gem &#8211;version</p>
<p><strong>Passo 03 &#8211; Crie e use um novo gemset para cada um de seus projetos</strong></p>
<ul>
<li>É uma boa idéia usar um gemset específico para cada um dos seus projetos, juntamente com o seu arquivo Gemfile específico.</li>
<li>Desta forma, apesar de você atualizar as gems de um &#8220;ProjectA&#8221; através da atualização para gems mais recentes, as mesmas gems não mudarão para o &#8220;ProjectB&#8221; &#8211; eliminando a possibilidade de interferência de gems, entre os projetos.</li>
</ul>
<p>$ rvm list gemsets (para ver uma lista das versões de Ruby e gemsets instalados.<br />
$ rvm gemset create gemset_myproject  (crie um gemset para este projeto)<br />
$ rvm use ruby-1.9.3-p0@gemset_myproject<br />
$ rvm list gemsets<br />
$ ls -l ~/.rvm/gems/ruby-1.9.3-p0@gemset_myproject (para consultar as gems instaladas nesse novo gemset. Por enquanto deve estar vazio)<br />
$ gem list &#8211;local (traz a mesma informação anterior. Aqui só deve mostrar o bundler)</p>
<p><strong> Passo 04 &#8211; Instalação do Rails.</strong></p>
<ul>
<li>Finalmente instale o Rails 3.1.3 dentro da gemset criada anteriormente.</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/gems/rails" target="_blank">http://rubygems.org/gems/rails</a></li>
</ul>
<p>$ rails &#8211;version (Para verificar a versão do Rails)<br />
$ gem install rails &#8211;version 3.1.3 &#8211;no-rdoc &#8211;no-ri (ou &#8220;gem install rails&#8221;, instala a versão atual mais estável do Rails. Os parâmetros &#8220;&#8211;no-rdoc&#8221; e &#8220;&#8211;no-ri&#8221;, não instalam as documentações e são opcionais)<br />
$ rails &#8211;version<br />
$ ls -l ~/.rvm/gems/ruby-1.9.3-p0@gemset_myproject/gems (para consultar as gems instaladas nesse novo gemset. Agora não deve estar vazio)<br />
$ gem list &#8211;local (traz a mesma informação anterior)</p>
<h2>V &#8211; Criando uma aplicação</h2>
<p>$ cd ~<br />
$ rails new people<br />
$ cd people</p>
<ul>
<li>Caso você esteja usando Linux, acrescente as linhas abaixo no arquivo Gemfile da aplicação People:</li>
</ul>
<p>gem &#8216;execjs&#8217;<br />
gem &#8216;therubyracer&#8217;</p>
<ul>
<li>Execute os comandos abaixo:</li>
</ul>
<p>$ bundle install<br />
$ bundle list (para ter uma lista com as gems &#8220;empacotadas&#8221; no seu projeto)<br />
$ rails generate scaffold person name:string<br />
$ bundle exec rake db:migrate (*)<br />
$ rails server</p>
<p>(*) Lembre-se, é uma boa prática executar &#8220;bundle exec rake &#8230;&#8221; em vez de simplesmente executar &#8220;rake &#8230;&#8221;.</p>
<ul>
<li>Carregue o browser, e digite na linha de endereços:</li>
</ul>
<p>localhost:3000/people</p>
<h2>VI &#8211; Final Feliz</h2>
<blockquote><p>Pronto!<br />
Fizemos o básico para iniciarmos um novo projeto usando Ruby On Rails 3.1.3 no Linux Ubuntu 11.10.<br />
Agora a aplicação People,  funciona em seu browser, permitindo localmente, manipular registros de pessoas e consulta-las.</p></blockquote>
<h2>VII &#8211; Referências</h2>
<p>(1) <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1680/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1680&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2011/12/27/ruby-on-rails-3-1-3-no-linux-ubuntu-11-10-iniciando-um-novo-projeto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Configuração: acentuação no Linux Ubuntu 11.10 virtualizado no Macbook</title>
		<link>http://digitalareablog.wordpress.com/2011/12/22/configuracao-acentuacao-no-linux-ubuntu-11-10-virtualizado-no-macbook/</link>
		<comments>http://digitalareablog.wordpress.com/2011/12/22/configuracao-acentuacao-no-linux-ubuntu-11-10-virtualizado-no-macbook/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 17:48:47 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[acentuação]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[português]]></category>
		<category><![CDATA[teclado]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1665</guid>
		<description><![CDATA[Configuração do teclado para acentuação em português, usando Linux Ubuntu versão 11.10 virtualizado num Macbook. I &#8211; Introdução Neste post publico uma solução que tive que desenvolver para usar acentuação. Eu tenho um Macbook Pro e tenho o Linux Ubuntu versão 11.10 virtualizado no equipamento. Portanto, para quem é usuário de um Macbook, já sabe &#8230; <a href="http://digitalareablog.wordpress.com/2011/12/22/configuracao-acentuacao-no-linux-ubuntu-11-10-virtualizado-no-macbook/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1665&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2 style="text-align:center;"><strong>Configuração do teclado para acentuação em português, usando Linux Ubuntu versão 11.10 virtualizado num Macbook.</strong></h2>
<h2>I &#8211; Introdução</h2>
<p>Neste post publico uma solução que tive que desenvolver para usar acentuação.</p>
<p>Eu tenho um Macbook Pro e tenho o Linux Ubuntu versão 11.10 virtualizado no equipamento.</p>
<p>Portanto, para quem é usuário de um Macbook, já sabe que o teclado é padrão americano, e no Linux Ubuntu 11.10, essa configuração para acentuação em português, não vem como padrão.</p>
<p>Vamos a sequência de comandos usando o terminal (prompt) do Linux.</p>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
</ul>
<h2>III &#8211; Sequência de passos para configuração</h2>
<p><strong>Passo 01.</strong></p>
<p>$ setxkbmap us -variant intl</p>
<ul>
<li>Apenas com o comando acima, já é possível verificar que o teclado já responde às acentuações.</li>
<li>Tente o ç (cedilha) por exemplo: teclas &#8216; (apóstrofe) + c (letra c)</li>
</ul>
<p><strong>Passo 02.</strong></p>
<ul>
<li>Além disso temos que deixar esta solução de acentuação permanente.</li>
<li>Quero dizer, se sairmos do Linux e entrarmos novamente, esta configuração será perdida.</li>
<li>Para deixar a configuração de acentuação permanente:
<ul>
<li>Adicione a seguinte linha no arquivo &#8220;profile&#8221; que está na pasta &#8220;/etc&#8221; e salve o arquivo:
<ul>
<li>setxkbmap us -variant intl</li>
</ul>
</li>
<li>Vamos ao passo a passo:
<ul>
<li>Para editar este arquivo você terá que usar o comando &#8220;sudo&#8221;.</li>
<li>Por exemplo, se você usar o editor &#8220;vi&#8221; para editar o arquivo, ficará assim:
<ul>
<li>$ sudo vi /etc/profile</li>
<li>Informe a senha que o comando &#8220;sudo&#8221; solicita</li>
<li>Vá para a última linha deste arquivo e acrescente a linha &#8220;setxkbmap us -variant intl&#8221;</li>
<li>Salve e saia do editor com o comando:
<ul>
<li>:wq (dois pontos + w + q)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>IV &#8211; Testando a Acentuação</h2>
<ul>
<li>Para testar, saia (shutdown) do Linux e carregue novamente.</li>
<li>A acentuação deve permanecer.</li>
<li>Este artigo foi escrito usando essa configuração <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<blockquote><p>Pronto!<br />
Configuramos o teclado no Linux Ubuntu versao 11.10 para aceitar o teclado de um Macbook, padrão americano e permitir acentuação em português.</p></blockquote>
<h2>V &#8211; Referências e Créditos</h2>
<p>(1) <a title="akitaonrails" href="http://www.akitaonrails.com/" target="_blank">http://blog.intermol.com.br/category/nix/</a><a title="akitaonrails" href="http://www.akitaonrails.com/" target="_blank"><br />
</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1665/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1665/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1665&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2011/12/22/configuracao-acentuacao-no-linux-ubuntu-11-10-virtualizado-no-macbook/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Instalação do editor Vim para Rails no Ubuntu 11.10</title>
		<link>http://digitalareablog.wordpress.com/2011/12/22/instalacao-do-editor-vim-para-rails-no-ubuntu-11-10/</link>
		<comments>http://digitalareablog.wordpress.com/2011/12/22/instalacao-do-editor-vim-para-rails-no-ubuntu-11-10/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 11:51:05 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1637</guid>
		<description><![CDATA[Instalação e configuração do editor de textos Vim para desenvolvimento em Ruby On Rails no Linux Ubuntu versão 11.10. I &#8211; Introdução Neste post vamos instalar o editor de programas Vim para desenvolvimento em Ruby On Rails no Linux Ubuntu versão 11.10. Vamos a sequência de comandos usando o terminal (prompt) do Linux. II &#8211; &#8230; <a href="http://digitalareablog.wordpress.com/2011/12/22/instalacao-do-editor-vim-para-rails-no-ubuntu-11-10/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1637&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2 style="text-align:center;"><strong>Instalação e configuração do editor de textos Vim para desenvolvimento em Ruby On Rails no Linux Ubuntu versão 11.10.</strong></h2>
<h2>I &#8211; Introdução</h2>
<p>Neste post vamos instalar o editor de programas Vim para desenvolvimento em Ruby On Rails no Linux Ubuntu versão 11.10.</p>
<p>Vamos a sequência de comandos usando o terminal (prompt) do Linux.</p>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.3</li>
<li>Rails 3.1.1</li>
<li>Vim</li>
</ul>
<h2>III &#8211; Sequência de passos para instalação</h2>
<p><strong>Passo 01.</strong></p>
<p>$ vim &#8211;version<br />
$ cd ~<br />
$ sudo aptitude install vim<br />
$ vim &#8211;version</p>
<p><strong>Passo 02.</strong></p>
<ul>
<li>Vamos usar a configuração que o Akita (1) criou, e está disponível no github (2):</li>
</ul>
<p>$ git clone git://github.com/akitaonrails/vimfiles.git ~/.vim<br />
$ cd ~/.vim<br />
$ git submodule update &#8211;init</p>
<ul>
<li>Talvez o erro abaixo ocorra:</li>
</ul>
<p>fatal: reference is not a tree: 5ac7bda6c8677639155bd9a267aa1a20cd4e7881<br />
Unable to checkout &#8217;5ac7bda6c8677639155bd9a267aa1a20cd4e7881&#8242; in submodule path &#8216;bundle/Command-T&#8217;</p>
<ul>
<li>Caso aconteça o erro acima, execute os seguintes comandos:</li>
</ul>
<p>$ git rm bundle/Command-T &#8211;cache<br />
$ git submodule update &#8211;init</p>
<p><strong>Passo 03.</strong></p>
<ul>
<li>Agora você deverá criar os arquivos vimrc e gvimrc:</li>
</ul>
<p>$ echo &#8220;source ~/.vim/vimrc&#8221; &gt; ~/.vimrc<br />
$ echo &#8220;source ~/.vim/gvimrc&#8221; &gt; ~/.gvimrc</p>
<p><strong>Passo 04.</strong></p>
<ul>
<li>Execute o comando abaixo:</li>
</ul>
<p>$ cd ~<br />
$ sudo apt-get install exuberant-ctags ncurses-term</p>
<p><strong>Passo 05.</strong></p>
<ul>
<li>Este item é opcional.</li>
<li>Faça este item caso queira que o gerenciador de arquivos (chamado Nerd Tree), abra automaticamente ao carregar o Vim.</li>
<li>Para isto adicione as seguintes linhas ao arquivo &#8220;~/.vimrc&#8221;:autocmd VimEnter * NERDTree<br />
autocmd VimEnter * wincmd p</li>
</ul>
<h2>IV &#8211; Testando o Vim</h2>
<ul>
<li>Crie ou use uma aplicação em Ruby On Rails para testar o editor Vim.</li>
<li>Se você não tem o Rails instalado, siga o seguinte tutorial para instalação e configuração do Rails no Linux Ubuntu: <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://wp.me/pStZS-px" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a> (3)</li>
<li>Para testar o Vim, entre numa aplicação.  Por exemplo, a aplicação People:</li>
</ul>
<p>$ cd ~/people<br />
$ vim</p>
<blockquote><p>Pronto!<br />
Instalamos e configuramos o editor Vim para ser usado para programação em Ruby On Rails no Linux Ubuntu.</p></blockquote>
<h2>V &#8211; Referências e Créditos</h2>
<p>(1) <a title="akitaonrails" href="http://www.akitaonrails.com/" target="_blank">http://www.akitaonrails.com/<br />
</a>(2) <a title="akitaonrails" href="http://www.akitaonrails.com/" target="_blank">https://github.com/akitaonrails/vimfiles</p>
<p>https://github.com/akitaonrails/vimfiles/issues/86</p>
<p></a>(3) <a title="Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10" href="http://wp.me/pStZS-px" target="_blank">Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</a><a title="akitaonrails" href="http://www.akitaonrails.com/" target="_blank"><br />
</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1637/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1637/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1637&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2011/12/22/instalacao-do-editor-vim-para-rails-no-ubuntu-11-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
		<item>
		<title>Instalação do Ruby On Rails 3.1.1 no Linux Ubuntu 11.10</title>
		<link>http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/</link>
		<comments>http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 12:51:25 +0000</pubDate>
		<dc:creator>Sergio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://digitalareablog.wordpress.com/?p=1583</guid>
		<description><![CDATA[Instalação do ambiente de desenvolvimento do Ruby On Rails versão 3.1.1 no Linux Ubuntu versão 11.10. I &#8211; Introdução Neste post vamos instalar o ambiente mínimo necessário para o desenvolvimento de aplicações web usando o framework Ruby On Rails. De maneira mais específica, o presente artigo trata da instalação do Ruby versão 1.9.3 e do &#8230; <a href="http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/">Continue a leitura <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1583&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2 style="text-align:center;"><strong>Instalação do ambiente de desenvolvimento do Ruby On Rails versão 3.1.1 no Linux Ubuntu versão 11.10.</strong></h2>
<h2>I &#8211; Introdução</h2>
<p>Neste post vamos instalar o ambiente mínimo necessário para o desenvolvimento de aplicações web usando o framework Ruby On Rails.</p>
<p>De maneira mais específica, o presente artigo trata da instalação do Ruby versão 1.9.3 e do Ruby On Rails versão 3.1.1 no Linux Ubuntu versão 11.10.</p>
<p>Também testei, com sucesso, o mesmo modelo de instalação usando o Linux Ubuntu versão 11.04. Vamos a sequência de comandos usando o terminal (prompt) do Linux.</p>
<h2>II &#8211; Principais tecnologias usadas neste artigo</h2>
<ul>
<li>Linux Ubuntu 11.10</li>
<li>Ruby 1.9.3</li>
<li>Rails 3.1.1</li>
</ul>
<h2>III &#8211; Sequência de passos para instalação</h2>
<p><strong>Passo 01.</strong></p>
<ul>
<li>Neste artigo em especial vamos usar o instalador de pacotes aptitude.</li>
<li>O instalador apt-get poderia ser usado, mas considero que o aptitude tem uma qualidade um pouco melhor.</li>
</ul>
<p>$ cd /<br />
$ aptitude &#8211;version (versão do aptitude que você está usando)<br />
$ sudo apt-get update<br />
$ sudo apt-get upgrade (aguarde)<br />
$ sudo apt-get install aptitude<br />
$ sudo aptitude update<br />
$ sudo aptitude upgrade<br />
$ aptitude &#8211;version (versão do aptitude que você está usando)</p>
<p><strong>Passo 02.</strong></p>
<ul>
<li>Instalação do git e do curl</li>
</ul>
<p>$ sudo aptitude install build-essential git-core curl<br />
$ git &#8211;version<br />
$ curl &#8211;version</p>
<p><strong>Passo 03.</strong></p>
<ul>
<li>Instalação do <a title="rvm" href="https://rvm.beginrescueend.com/" target="_blank">RVM</a>.</li>
<li>O RVM é um gerenciador de versões. Ele permite que seja possível usar várias versões do Ruby.</li>
<li>Permite instalar, gerenciar e trabalhar com múltiplos ambientes Ruby, e conjunto de gems.</li>
</ul>
<p>$ bash -s stable &lt; &lt;(curl -s <a href="https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer" rel="nofollow">https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer</a>)</p>
<ul>
<li>Se você já tem o RVM instalado, faça os passos abaixo para atualiza-lo:<br />
$ rvm -v (versão do RVM que você está usando)<br />
$ rvm get latest ## se aqui aparecer erro, execute &#8220;rvm update &#8211;head&#8221;<br />
$ rvm reload<br />
$ rvm -v (versão do RVM que você está usando)</li>
<li>Mude o seu arquivo ~/.bashrc para que a ultima linha fique assim:<br />
[[ -s "$HOME/.rvm/scripts/rvm" ]] &amp;&amp; source &#8220;$HOME/.rvm/scripts/rvm&#8221; # Load RVM into a shell session *as a function*</li>
</ul>
<ul>
<li>Feche e abra a tela do terminal novamente.</li>
</ul>
<p>$ cd /<br />
$ rvm -v (versão do RVM que você está usando)</p>
<p><strong>Passo 04.</strong></p>
<ul>
<li>Agora vamos instalar vários pacotes necessários ao ambiente</li>
</ul>
<p>$ sudo aptitude install build-essential openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev zlib libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison<br />
$ rvm pkg install zlib<br />
$ sudo aptitude install zlib1g-dev<br />
$ sudo aptitude install libsqlite3-dev</p>
<p><strong>Passo 05.</strong></p>
<ul>
<li>Instalação do openssl</li>
</ul>
<p>$ rvm pkg install openssl (vai demorar um pouco)</p>
<p><strong>Passo 06.</strong></p>
<ul>
<li>Instalação do Ruby versão 1.9.3</li>
<li>Para verificar a versão atual acesse: <a href="http://www.ruby-lang.org/en/downloads/" target="_blank">http://www.ruby-lang.org/en/downloads/</a></li>
<li>Para instalar o Ruby vamos usar o RVM, o gerenciador de versões Ruby, instalado anteriormente.</li>
</ul>
<p>$ rvm install 1.9.3 (vai demorar)<br />
$ rvm list<br />
$ rvm &#8211;default use 1.9.3 (faz com que o Ruby 1.9.3 seja a versão default neste ambiente)<br />
$ rvm list<br />
$ ruby &#8211;version (versão do Ruby que você está usando)</p>
<p><strong>Passo 07.</strong></p>
<ul>
<li>Instalação do RubyGems.</li>
<li>O RubyGems é um gerenciador de pacotes padrão que vem como parte da instalação do Ruby.</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/pages/download" target="_blank">http://rubygems.org/pages/download</a></li>
</ul>
<p>$ gem &#8211;version (versão do RubyGem que você está usando. Deve ser versão 1.8.11 ou mais atual)<br />
$ gem update &#8211;system<br />
$ gem &#8211;version</p>
<p><strong>Passo 08.</strong></p>
<ul>
<li>Crie um gemset default.</li>
</ul>
<p>$ rvm 1.9.3@rails311 &#8211;create &#8211;default (é uma boa ideia criar uma gemset específica por projeto)<br />
$ rvm gemset list (para ver as gems que você tem nesta gemset)<br />
$ rvm list gemsets (para ver uma lista das versões de Ruby e gemsets instaladas)<br />
$ gem list (para ver uma lista das gems incluidas na instalação padrão do Ruby)</p>
<p><strong>Passo 09.</strong></p>
<ul>
<li>Atualize o Rake.</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/gems/rake" target="_blank">http://rubygems.org/gems/rake</a></li>
</ul>
<p>$ gem update rake<br />
$ rake &#8211;version (Para ver a versão do Rake. O Rake versão 0.9.2.2 vem com o Ruby 1.9.3)</p>
<p><strong>Passo 10.</strong></p>
<ul>
<li>Finalmente instale o Rails 3.1.1.</li>
<li>Para verificar a versão atual acesse: <a href="http://rubygems.org/gems/rails" target="_blank">http://rubygems.org/gems/rails</a></li>
</ul>
<p>$ rails &#8211;version (Para verificar a versão do Rails)<br />
$ gem install rails &#8211;version 3.1.1 &#8211;no-rdoc &#8211;no-ri (ou &#8220;gem install rails&#8221;, instala a versão atual mais estável do Rails. Os parâmetros &#8220;&#8211;no-rdoc&#8221; e &#8220;&#8211;no-ri&#8221;, não instalam as documentações e são opcionais)<br />
$ rails &#8211;version</p>
<h2>IV &#8211; Criando uma aplicação para testar a instalação</h2>
<p>$ cd ~<br />
$ rails new people<br />
$ cd people</p>
<ul>
<li>Acrescente as linhas abaixo no arquivo Gemfile da aplicação People:</li>
</ul>
<p>gem &#8216;execjs&#8217; gem &#8216;therubyracer&#8217;</p>
<ul>
<li>Execute os comandos abaixo:</li>
</ul>
<p>$ bundle install<br />
$ rails generate scaffold person name:string<br />
$ bundle exec rake db:migrate (*)<br />
$ rails server (*) Lembre-se, é uma boa prática executar &#8220;bundle exec rake &#8230;&#8221; em vez de simplesmente executar &#8220;rake&#8221;.</p>
<ul>
<li>Carregue o browser, e digite na linha de endereços:</li>
</ul>
<p>localhost:3000/people</p>
<blockquote><p>Pronto! Instalamos o ambiente de desenvolvimento Ruby On Rails no Linux Ubuntu. Agora a aplicação People,  funciona em seu browser, permitindo localmente, manipular registros de pessoas e consulta-las.</p></blockquote>
<h2>V &#8211; Referências</h2>
<p>(1) <a href="http://www.compilando.org/wp/programacao/como-instalar-o-rvm-no-ubuntu-11-04-natty" rel="nofollow">http://www.compilando.org/wp/programacao/como-instalar-o-rvm-no-ubuntu-11-04-natty</a><br />
(2) <a href="http://babinho.net/2011/05/rails-3-1-beta-on-ubuntu/" rel="nofollow">http://babinho.net/2011/05/rails-3-1-beta-on-ubuntu/</a><br />
(3) <a href="http://railsapps.github.com/installing-rails-3-1.html" rel="nofollow">http://railsapps.github.com/installing-rails-3-1.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/digitalareablog.wordpress.com/1583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/digitalareablog.wordpress.com/1583/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=digitalareablog.wordpress.com&#038;blog=12985024&#038;post=1583&#038;subd=digitalareablog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://digitalareablog.wordpress.com/2011/12/05/instalacao-do-ruby-on-rails-3-1-1-no-linux-ubuntu-11-10/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3546a716bb91d3ba6f6d2e17572a301?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">sergiosouzalima</media:title>
		</media:content>
	</item>
	</channel>
</rss>
