@@ -1,6 +1,6 @@ |
||
| 1 | 1 |
# Upload de arquivos com o CarrierWave |
| 2 | 2 |
|
| 3 |
-O Carrierwave é um *gem* para simplificar a criação de um sistema de upload de arquivos no Ruby on Rails. |
|
| 3 |
+O [Carrierwave](https://github.com/carrierwaveuploader/carrierwave) é um *gem* para simplificar a criação de um sistema de upload de arquivos no Ruby on Rails. |
|
| 4 | 4 |
|
| 5 | 5 |
|
| 6 | 6 |
## Instalação |
@@ -18,6 +18,7 @@ bundle install |
||
| 18 | 18 |
rails g uploader image |
| 19 | 19 |
``` |
| 20 | 20 |
|
| 21 |
+ |
|
| 21 | 22 |
Depois crie uma migração para associar as imagens a outra classe: |
| 22 | 23 |
|
| 23 | 24 |
```bash |
@@ -79,7 +80,28 @@ Para carregar um arquivo externo vindo de uma URL, modifique o formulario de upl |
||
| 79 | 80 |
|
| 80 | 81 |
No modelo onde que carrega as imagens ```models/post.rb```, adicione o ```attr_accessible :remote_image_url```. É importante usar essa variavel por que o **CarrierWave** vai automaticamente procurar o arquivo pela URL e fazer o upload e processamento. |
| 81 | 82 |
|
| 83 |
+## Processamento de imagens com o MiniMagik |
|
| 84 |
+ |
|
| 85 |
+Primeiro instale o **ImageMagick**, uma biblioteca escrita em C para processamento de imagem. |
|
| 86 |
+ |
|
| 87 |
+```bash |
|
| 88 |
+brew install imagemagick |
|
| 89 |
+``` |
|
| 90 |
+ |
|
| 91 |
+Depois modifique o **Uploader**: |
|
| 92 |
+ |
|
| 93 |
+```ruby |
|
| 94 |
+class MyUploader < CarrierWave::Uploader::Base |
|
| 95 |
+ include CarrierWave::MiniMagick |
|
| 96 |
+ |
|
| 97 |
+ process :resize_to_fit => [800, 800] |
|
| 82 | 98 |
|
| 99 |
+ version :thumb do |
|
| 100 |
+ process :resize_to_fill => [200,200] |
|
| 101 |
+ end |
|
| 102 |
+ |
|
| 103 |
+end |
|
| 104 |
+``` |
|
| 83 | 105 |
## Processamento de imagens com o rmagik |
| 84 | 106 |
|
| 85 | 107 |
Para fazer modificações na imagem como criar versões *thumbnail*, é possivel utilizar o **rmagick** junto com o **ImageMagick**. |
@@ -115,4 +137,4 @@ Para fazer o display da imagem **thumb**: |
||
| 115 | 137 |
|
| 116 | 138 |
------ |
| 117 | 139 |
|
| 118 |
-[voltar](../) |
|
| 140 |
+[voltar](readme.md) |
@@ -2,31 +2,47 @@ |
||
| 2 | 2 |
|
| 3 | 3 |
O plugin i18n serve para criar administrar varias linguas em um sistema. Para começar, adicione o gem ao ```Gemfile``` |
| 4 | 4 |
|
| 5 |
- gem 'i18n' |
|
| 5 |
+```ruby |
|
| 6 |
+gem 'i18n' |
|
| 7 |
+``` |
|
| 6 | 8 |
|
| 7 | 9 |
Exemplo estatico: |
| 8 | 10 |
|
| 9 |
- <h1>Oranges<h1> |
|
| 11 |
+```html |
|
| 12 |
+<h1>Oranges<h1> |
|
| 13 |
+``` |
|
| 10 | 14 |
|
| 11 | 15 |
Exemplo com o i18n: |
| 12 | 16 |
|
| 13 |
- <h1><%= t ".title" %></h1> |
|
| 17 |
+```erb |
|
| 18 |
+<h1><%= t "blog.title" %></h1> |
|
| 19 |
+``` |
|
| 14 | 20 |
|
| 15 | 21 |
No arquivo de tradução ```en.yml``` |
| 16 | 22 |
|
| 17 |
- en: |
|
| 18 |
- item: |
|
| 19 |
- index: |
|
| 20 |
- title: "Titulo do produto" |
|
| 23 |
+```yml |
|
| 24 |
+pt-BR: |
|
| 25 |
+ blog: |
|
| 26 |
+ title: "Titulo" |
|
| 27 |
+``` |
|
| 21 | 28 |
|
| 22 | 29 |
Para mudar a lingua no sistema, modifique o arquivo ```/app/controllers/application_controller.rb```: |
| 23 | 30 |
|
| 24 |
- classApplicationController < ActionController::Base |
|
| 25 |
- protect_from_forgery |
|
| 26 |
- before_filter :set_locale |
|
| 27 |
- private |
|
| 28 |
- def |
|
| 29 |
- set_localeI18n.locale = "pt-BR" |
|
| 30 |
- end |
|
| 31 |
- end |
|
| 32 |
- |
|
| 31 |
+```ruby |
|
| 32 |
+classApplicationController < ActionController::Base |
|
| 33 |
+ protect_from_forgery |
|
| 34 |
+ before_filter :set_locale |
|
| 35 |
+ |
|
| 36 |
+ private |
|
| 37 |
+ |
|
| 38 |
+ def set_locale |
|
| 39 |
+ #I18n.config.enforce_available_locales = false |
|
| 40 |
+ I18n.default_locale = "pt-BR" |
|
| 41 |
+ end |
|
| 42 |
+ |
|
| 43 |
+end |
|
| 44 |
+``` |
|
| 45 |
+ |
|
| 46 |
+--- |
|
| 47 |
+ |
|
| 48 |
+[voltar](readme.md) |