2015-05-01から1ヶ月間の記事一覧

検索結果をCSV出力する

検索した結果をViewをつかってCSV出力する方法です。 環境 Rails 4.2 実装 Controller index.csvで呼ばれた場合に、CSVを出力するようにします。 def index @alls = Item.all @items = @alls.page(params[:page]) respond_to do |format| format.html format…

初期データをCSVから投入する

ユーザーに初期データをつくってもらうことも考えて、CSVからとりこめるようにしました。 準備 初期データCSVをつくり、/db下に置いておきます。 db/seed.rb こんな感じ。 require "csv" connection = ActiveRecord::Base.connection tables = %w(table1 tab…

CarrierWaveで画像をアップロードする

carrierwaveuploader/carrierwave · GitHubを使うと簡単に画像をアップロードできます。 1. インストール Gemfileに以下追記して、bundle install. gem 'carrierwave' gem 'rmagick' エラーになる場合 bundle installで以下のエラーになりました。 Gem::Ext:…

UbuntuでWindowsの共有フォルダをマウントする

MySQLのdumpファイルやアップロードしたファイルを、 アプリケーションサーバーとは別のファイルサーバー上(Windows)にバックアップする方法です。 転送元: Ubuntu 14.04 LTS 転送先: Windows7 1. cifsをUbuntuにインストールする もともとインストールさ…

MySQL5.6で-pオプションをつけてコマンド実行するとWarningが表示される

現象 MySQL5.6で、-pオプション付きでmysqldumpコマンドを実行するとWarningが出力されます。 実行はできるのですが、毎回出力されて嫌なので回避したいです。 mysqldump -h #{db_server} -u #{username} -p#{password} #{database} > #{backup_file} Warnin…

wheneverでrakeを実行すると「/bin/bash: bundle: コマンドが見つかりません」エラーになる

wheneverで以下のようなschedule.rbをつくり実行すると、 log/crontab.logに「/bin/bash: bundle: コマンドが見つかりません」 というログが出力されて、実行されませんでした。 変更前 set :output, "log/crontab.log" set :environment, :production every…

wheneverでMySQLバックアップを定期実行する

MySQLバックアップ処理はrakeタスクでつくり、 javan/whenever · GitHubでcrontabの管理をすることにします。 1. 導入 Gemfileに以下を追記し、bundle installします。 gem 'whenever', :require => false 2. schedule.rbの作成 $ bundle exec wheneverize .…

warning: circular argument reference を回避する

Nitrous.ioのRubyを2.2.0にバージョンアップしてから、 rails s したり bundle exec rake db:migrate したりしたときに、 以下のWARNINGが出るようになってしまいました。 /home/action/.gem/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/values…

Nitrous.ioのRubyをバージョンアップする

1. インストール可能なバージョンを調べる $ parts search ruby chruby (0.3.8) Chruby: Changes the current ruby ruby2.1 (2.2.0) Ruby 2.2.0: A dynamic programming language with a focus on simplicity and productivity. ruby2.0 (2.0.0-p576) Ruby 2…

kaminariでページネーションを実装する

1. kaminariをインストールする Gemfileに以下を追記して、bundle install. gem 'kaminari' 2. viewとcontrollerの実装 index.html.erbに以下を追加 <%= paginate @items %> controllerのindexメソッドに以下を追加 @items = @items.page(params[:page]) 3. …

Devise Controllerをカスタマイズする

オーバーライド用のcontrollerを生成する $ bundle exec rails g devise:controllers users app/controllers/usersに以下のcontrollerが生成されます。 confirmations_controller.rb omniauth_callbacks_controller.rb passwords_controller.rb registration…

画像を圧縮する

メモ 背景に画像をおきたいけど、画像サイズが大きいとレンダリングが遅くなっちゃうので圧縮したい。 COMPRESSORを使いました。 Compressor.io - optimize and compress your images and photoscompressor.io

Deviseログイン画面のlayoutを変更する

方法① application_controller.rbでlayoutを切り替える方法。 devise以外のcontrollerでもつねに判断が入るので、なんとなくスッキリしないような。 class ApplicationController < ActionController::Base layout :layout_by_resource protected def layout…