rails memo
Заметки по Rails.
assets:precompile
На слабом VDS команда rails assets:precompile
может иногда не выполнятся, т.к. не хватает оперативной памяти. Решения:
sudo reboot
;- Добавить больше swap памяти;
- Арендовать более мощный VDS.
static pages
Для создания статичных страниц необходимо выполнить следующее:
rails g controller StaticPages home about help
Данная команда создаст контроллер со следующими действиями:
class StaticPagesController < ApplicationController
def home
end
def about
end
def help
end
end
Затем необходимо обновить файл routes.rb
:
Rails.application.routes.draw do
root to: 'static_pages#home'
get '/about', to: 'static_pages#about'
get '/help', to: 'static_pages#help'
end
nil? vs if true vs empty? vs blank?
db:migrate:reset
$ rails db:migrate:reset
Как-то раз в schema.rb
в таблицу posts
затесалась лишняя колонка из другой ветки. В миграциях этой колонки не было, поэтому с помощью этой команды можно ресетнуть БД. Команда эквивалентна следующему: $ rails db:drop db:create db:migrate
.
дружим paperclip и mina при деплое
Нужно отредактировать файл config/deploy.rb следующим образом:
set :shared_paths, ['config/database.yml', 'config/secrets.yml', 'log', 'public/system']
Затем на сервере вручную создать директорию ~/app/shared/public/system/
и создать симлинк:
$ ln -s ~/app/shared/public/system/ ~/app/current/public/system/
updates
Апдейт (10 Ноября 2016):
- добавил разделы про db:migrate:reset и paperclip и mina.