cannot load such file -- bundler/setup (LoadError) エラー

Railsアプリケーションでdevise:installをしようとしたら、エラーになりました。 $ bundle exec rails g devise:install /Users/cobachie/.rbenv/versions/2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such fil…

Railsのバージョンを 4.1.5 から 4.2 にあげたときのメモ

Railsのバージョンを 4.1.5 から 4.2にあげたときのメモです。 railsをアップデートする Gemfile #gem 'rails', '4.1.5' gem 'rails', '~> 4.2' $ bundle update rails $ bundle clean Gemのインストールは完了。 WEBrickを起動してみます。 $ bundle exec r…

CentOSにMySQL5.6をインストールする

環境 CentOS 6.5 (Vagrant) インストール 既存package削除 すでになにかmysqlのpackageがインストールされているかを確認します。 インストールされているものがあれば、削除します。 $ sudo yum list installed | grep mysql mysql-libs.x86_64 5.1.73-5.…

CentOS 6.5 にrmagickをインストールする

1. ImgeMagickをインストールします $ sudo yum -y install ImageMagick ImageMagick-devel $ yum list installed | grep Image ImageMagick.x86_64 6.7.2.7-2.el6 @base ImageMagick-devel.x86_64 2. rmagickはbundleをつかってインストールします Gemfile …

MacOS X Yosemite(10.10.4)でvagrantコマンドが使えない

MacOS X Yosemite(10.10.4)にVagrantをインストールしてみました。 Download Vagrant - VagrantからMacOS用インストーラーの最新版(1.7.4)をダウンロード。 インストーラーを実行。→正常に終了したように見える。 $ vagrant -vで確認。 →-bash vagrant: …

CentOSにSambaサーバーを構築する

環境 ホスト: MacOS X クライアント: CentOS 6.5 (Vagrant) vagrantユーザーでアクセスできるようにします。 Sambaインストール $ sudo yum -y install samba $ sudo pdbedit -a vagrant 共有ディレクトリを作成する /var/shareを共有ディレクトリにします…

sqlite3 コマンドめも

たまにつかうと忘れちゃうのでメモ。 環境 Rails 4.2 コマンド データベースに接続する $ bundle exec sqlite3 db/development.sqlite3 または $ bundle exec rails dbconsole development テーブル一覧 > .tables;

Drag & Dropでリストをソートする

リストのアイテムをドラッグ&ドロップで並べ替えるのに、 AngularJSのng-sortableというライブラリを使ってみました。 環境 Rails 4.2.4 AngularJS 1.3 ng-sortableのソースを配置する https://github.com/a5hik/ng-sortable からzipをダウンロードして解凍…

RailsでmongoDBの複数DBに接続する

mongoDBをつかっているRailsアプリケーションで、複数DBにアクセスするための設定方法です。 config/mongoid.yml development: sessions: default: database: primary_db hosts: - 192.168.56.100:27017 secondary: database: secondary_db hosts: - 192.168…

mongoDBに接続できない

環境 Ubuntu 14.04 LTS MongoDB shell version: 3.0.4 mongo コマンドでDBに接続しようとしたところ、接続できないことがありました。 現象1 /var/log/mongodb/mongod.logをみると、以下のようなログがはきだされています。 [initandlisten] Detected unclea…

carrierwaveで日本語名のファイルをアップロードする

日本語のなまえのファイルをアップロードすると、日本語部分が「___」になってしまいます。 その対応方法です。 対応方法 config/initializers/carrierwave.rbを作成し、以下を追加します。 CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\…

apache2再起動時にAH00558が発生する

ubuntu 14.04 LTS のapache2を再起動したときに、以下のエラーがでます。 ubuntu@ubuntu:/etc/apache2/conf-available$ sudo service apache2 restart * Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully …

mongoDBが起動しない(Could not connect to a primary node for replica set)

環境 Ubuntu 14.04 LTS Rails 4.2 mongo 3.0.4 現象 Rails 4.2 x mongoDBのアプリをつくろうと思ったのですが、 rootのページを表示しようとしたときにいきなり以下のエラーになりました。 Error (Could not connect to a primary node for replica set #<Moped::Cluster:70060993022780 @seeds=[<Moped::Node resolved_address="0.0.0.0:27017">]>)</moped::cluster:70060993022780>…

関係付けのないモデルの値を取得する

belongs_toとかhas_manyとかで関係づけられていないモデルを結合して、値を取得したい場合の対応方法です。 ちょっと悩んだのでメモ。 実装 データを取得するところはこんな感じ。 @model1 = Model1.joins("INNER JOIN model2 ON model1.item_id = model2.id…

CNTLMでプロキシ設定する

社内LANからapt-getしたりgitを利用したりするために、 CNTLMをつかってプロキシの設定をしました。 環境 Ubuntu 14.04 LTS CNTLM インストール ※インストールはプロキシ経由ではないNW下でおこなってます。 $ sudo apt-get install cntlm NTLM認証の設定 /e…

rails3-jquery-autocompleteで入力補完機能(オートコンプリート)を実装する

rails3-jquery-autocompleteを利用して オートコンプリートで入力補助 DBにはそのオブジェクトのidを保存 を実装しました。 環境 rails3-jquery-autocompleteですが、rails 4.2.3でも動作しました。 インストール 以下をGemfileに追記してbundle install. ge…

git管理からディレクトリを除外する

git

うっかりvendor/bundleをコミットしてしまったので... $ git rm -r --cached vendor/bundle/ これだと fatal: pathspec 'vendor/bundle/' did not match any files になってしまいます。 以下のように--ignore-unmatchを付けたらいけました! $ git rm -r --…

ブロックレベル要素のセンタリング

css

HTML、CSSの基本的なことだけど、「なるほど!」だったのでめもです。 インライン要素 インライン要素は以下のようにstyleを指定すれば簡単に縦横がセンタリングできます。 text-align: center; height: 10rem; line-height: 10rem; ブロック要素 ブロック要…

rbenv install で BUILD FAILED になったときの回避方法

OS: Ubuntu 14.04 LTS rbenv install すると以下のエラーでインストールできない事象が発生したときの回避方法です。 BUILD FAILED (Ubuntu 14.04 using ruby-build 20150519-9-gae117b3) Inspect or clean up the working tree at /tmp/ruby-build.20150612…

浅いネストのルーティング設定

ネストのルーティング設定をするときに、shallowオプションが便利です。 resources :organizations do resources :users, shallow: true end そうするとroutesはこんな感じに設定されます。 organization_users GET /organizations/:organization_id/users(.…

rails g が動かなくなったときの回避方法

Ubuntu 14.04 LTS でrails generate が動かなくなってしまいました。。。 Ctrl + Cでとめると以下のログが出力されます。 /var/share/sample/vendor/bundle/ruby/2.2.0/gems/spring-1.3.6/lib/spring/client/run.rb:98:in `gets': Interrupt from /var/share…

Sambaの設定

ホストOS: Mac OS X ゲストOS: Ubuntu 14.04 LTS UbuntuのSambaの設定めもです。 設定ファイル(smb.conf) $ sudo vi /etc/samba/smb.conf を編集します。 [global] map to guest = never [share] path = /var/share writable = yes guest ok = no force cr…

VirtualBoxのネットワーク設定

開発環境をVirtualBoxで構築するときのネットワークの設定めもです。 ホストOS: MacOSX ゲストOS: Ubuntu14.04LTS (開発環境) VirtualBoxのネットワーク設定 アダプター1 割り当て: NAT ポートフォワーディング: | ssh | TCP | | 2222 | | 22 | アダプター…

検索結果を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…

Deviseでemail以外の項目でログインする

Deviseではemail/passwordでログインするのが標準ですが、 email以外の項目でログインさせたい場合の対応方法です。 migrate devise:installでできるmigrationファイルを編集して、 ログインにつかう項目を追加します。 今回はaccountを追加します。 t.strin…

Deviseを日本語化する

devise.en.ymlをコピーしてdevise.ja.ymlを作成します。 $ cp config/locales/devise.en.yml config/locales/devise.ja.yml devise.ja.ymlを編集します。 # Additional translations at https://github.com/plataformatec/devise/wiki/I18n ja: devise: conf…

人気のgemを調べる

The Ruby Toolbox The Ruby Toolbox - Know Your Options! なんてのがあるんですね。 カテゴリ別やプロジェクト別に検索できます。 たとえば認証系 https://www.ruby-toolbox.com/categories/rails_authentication

RailsでExcelを出力する

RailsでExcelを出力するのに、randym/axlsx · GitHub を使ってみました。 ほかにもgemはありますが、 セルをいろいろ操作したい(装飾とかマージとか) 将来的にグラフを出力したいという要望がある ということで、axlsxを選択しました。 1. gemインストール…