Skip to content

Instantly share code, notes, and snippets.

ThinReportsで複数レイアウトを使って一覧表を作成する

reportの作成方法やpageの作成方法はいくつも書き方があるので、 自分の使った書き方をメモ。

user_contents = { user_name: 'ユーザー名', user_address: '[email protected]' }

report = ThinReports::Report.create do |r|
  # ユーザーページレイアウト

r.start_new_page :layout => File.join(Rails.root, 'app', 'reports', 'user.tlf') do |page|

Modelのデータをtsv形式でimport/exportするRake task

Rakefile

require File.expand_path('../config/application', __FILE__)
require File.expand_path('../lib/tsv_data.rb', __FILE__)

MyApp::Application.load_tasks

task :export_data => :environment do

MiniTest Specを使う

Gemfileに次の行を追加

group :test do
  gem 'factory_girl_rails'
  gem 'minitest-spec-rails'
  gem 'database_cleaner'
end

メールサーバー設定(Ubuntu用)

参考:

http://centossrv.com/postfix.shtml

メール関連パッケージインストール

$ apt-get install postfix dovecot-common dovecot-pop3d dovecot-imapd sasl2-bin

tmuxをソースからインストール

libevent のインストール

$ wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
$ tar xvzf libevent-2.0.21-stable.tar.gz
$ cd libevent-2.0.21-stable
$ ./configure
$ make

$ make install

デプロイ時に毎回やってること

myappを/var/www/myappに配置し、serviceとして起動させる場合

1.myapp直下でprepare_deploy.shを実行

prepare_deploy.sh

bundle install

bundle exec rake db:migrate RAILS_ENV=production

knife初期化

knife configure

recipe作成

$ sudo knife cookbook create xxx -o cookbooks/

solo.rb

MySQLのデータベースバックアップ

1.バックアップ用スクリプトを作成します。

backup4mysql.sh

# バックアップファイルを何日分残しておくか
period=10

バックアップファイルを保存するディレクトリ

GitLabとRedmine連携

(git@localhost:test/sample.gitを連携させる例)

1.GitLabのプロジェクトのメンバーにredmineユーザーをReporterとして追加  (GitLab上にredmineユーザーは作成済み)

2.ミラーリポジトリを作成

$ cd /home/redmine/git_repositories