-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRuby on Rails Commands
More file actions
250 lines (161 loc) · 4.74 KB
/
Ruby on Rails Commands
File metadata and controls
250 lines (161 loc) · 4.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
# Criar um novo projeto em rails.
# O -d serve para selecionar o banco de dados a ser usado.
# Por padrão o rails usa o sqlite.
rails new 'nome_do_projeto' -d 'nome_do_banco'
# Logo após a criação rodar o bundle install para instalar as dependências.
bundle install
# Configurar o banco de dados, caso o banco não seja o sqlite.
# pasta config, arquivo database.yml
host: 127.0.0.1
# mudar a versão do banco mysql, caso apresente erro, no arquivo
# Gemfile para '0.3.20'
# Para rodar o servidor do rails
rails server
ou
rails s
#para rodar o banco instalado no rails
rails dbconsole
# Criar o banco de dados
rake db:create
# Criar a tabela do banco
rake db:migrate
# Criando model do Projeto
rails generate model 'NomeDoModel' name:string value:float buy_at:datetime
ou
rails g model 'NomeDoModel'
# Destruindo model do Projeto
rails d model 'NomeDoModel'
# O tipo string não precisa ser colocado, ele é por padrão string.
# comando para adicionar colunas em uma tabela existente.
rails g migration add_columns_to_articles title:string resume content:text status:boolean published_at:datetime
# Deletar o banco de dados
rake db:drop
# Carrega console do mysql
mysql -u root -p
# digita senha cadastrada na instalação do mysql
# Carrega o framework do rails
rails console
ou
rails c
## Comandos do framework ##
#Ver todos os itens e tamanho da tabela
'NomeDoModelo'.all
Article.all.size
#Criar itens pra Tabela
Article.create(title: 'nome', content: 'Ainda nao!')
#Criar usando objeto
novo_objeto = People.new
novo_objeto.name = 'Nome qualquer'
#para persistir no banco
novo_objeto.save
#Atualizar todas as colunas selecionadas
User.update_all(occupation: 'Rails Developer')
User.all.map {|user| user.occupation}
#procurar itens da tabela
Model.find(1) #Numero da posicao do valor do model
User.where(occupation: 'ocupacao').first
intruso = User.find_by(occupation: 'ocupacao')
# forma para deletar um objeto da tabela
intruso.delete
User.where("occupation LIKE '%Rails%'").delete_all
# Criar valores para o model usando o arquivo seeds.rb dentro de /db
# depois de criado roda o comando
rake db:seed
# para apagar o registro e rodar o seeds.rb de novo
rake db:reset
ou
rake db:setup
# no arquivo schema.rb tem os campos
# a exclamação serve para informar o erro
articles = Article.create!([
{
title: 'texto',
resume: 'texto',
content: 'texto',
published_at: Time.now,
status: true
},
{
title: 'texto',
resume: 'texto',
content: 'texto',
published_at: Time.now,
status: true
}
])
# Dica: para preencher valores falsos no banco
#No arquivo Gemfile preencher com o campo e rodar bundle
gem 'ffake'
#No arquivos seeds.rb usar o require
require ffake
# Routes
# para verificar as rotas existentes
rake routes
#criar model pelo scaffold
rails g scaffold NomeModel name
#scaffold_controller cria tudo, menos o Model e a Migration
rails g scaffold_controller articles
#Criar o controller manualmente
rails g controller 'jobs' index show new create edit update destroy
#tirar do gemfile o 'turbolink'
#instalar simple_form, colocar no arquivo Gemfile
gem 'simple_form'
#depois rodar o bundle install
bundle install
#rodar no terminal
rails generate simple_form:install --bootstrap
#colocar no arquivo Gemfile
gem "therubyracer"
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
gem "twitter-bootstrap-rails"
#rodar no terminal
rails g bootstrap:install
rails g bootstrap:layout application
rails g bootstrap:themed 'nome_model'
#Para pluralizar em português, procurar no google:
rails inflections PT-BR
#gem para paginação: kaminari
#colocar no arquivo Gemfile
gem 'kaminari'
#rodar
rails g kaminari:config
rails g kaminari:views bootstrap3
#dentro do controller do model
#na action index
@clientes = Cliente.page(params[:page])
#para definir o numero de pessoas por pagina
@clientes = Cliente.page(params[:page]).per(5)
#para adicionar o paginate
#colocar no html.erb
<%= paginate @clientes %>
#namespace
#dentro de routes colocar
namespace :admin do
end
#criar uma pasta admin dentro da pasta controllers e dentro da pasta views
#gem para autenticação
gem devise
#personalizar as views do login
rails g devise:views
#railroady
#para criar diagramas de modelo do projeto
rake diagram:all
#gem para autorização
gem declarative_authorization
##Atualizar o ruby
rvm install 2.2.4
#gem para upload de arquivos
gem 'carrierwave'
#cria pasta em app/uploaders
#URL amigavel, id e titulo na url do site.
#dentro de um model qualquer, ex: Livro.rb
def to_param
"#{id} #{titulo}".parameterize
end
#outra forma de fazer url amigavel
rails g migration add_slug_to_livros slug
rake db:migrate
#gem que gerencia o url amigavel
gem 'friendly_id', '~> 5.1.0'
#
gem 'nested_form'