db:migrate時にuninitialized constantエラー

app/models/photo_item.rb:2:in `': uninitialized constant PhotoItem::ImageUploader (NameError) 今まで普通に使用できていたのになぜか下記コマンドが急に使えなくなった ./bin/rake db:migrate ./bin/rails db springを止めたら治った ./bin/spring stop

ActiveAdmin上でCarrierWaveを使ってアップロード時にエラー

ActiveAdmin上でCarrierWaveを使ってアップロードしようとした時下記のようなエラーがでた ActiveRecord::StatementInvalid (Mysql2::Error: Column 'image' cannot be null: INSERT INTO `goods` (`created_at`, `detail`, `image`, `status`, `title`, `up…

ActiveAdminのカラムを逆順で並べ替える

ActiveAdminでカラムを逆順で並び替えの方法が以外となかったので調べてみました 昇順の場合は "<カラム名>_asc" 降順の場合は"<カラム名>_desc" と設定するとできました 設定例 ActiveAdmin.register Database do config.sort_order = "item_desc" end

RubyGems.orgが停止したので、bundle installが出来るようにGemfileのURLを変更

サイト移行しました blog.kozakana.net

capistranoでデプロイする時migrationを自動でするように設定する

「set :migration_role, 'db'」でmigration_roleにdbと名前を付けて、 rolesにdbを追加する事で自動でマイグレーションをしてくれるようになった [config/deploy.rb] set :migration_role, 'db' [config/deploy/production.rb] server 'servername', user: '…

Devise.secret_key was not set.のエラーの対処

capistranoでデプロイ中に下記のエラーが出ました DEBUG[587de510] config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly: DEBUG[587de510] DEBUG[587de510] * development - set it to false DEBUG[587de510] …

config.eager_load is set to nil.のエラーの対処

サイト移行しました https://blog.kozakana.net/config-eager_load-error/

monitのstart programを特定のユーザーで動かす

monitの設定ファイル/etc/monit.d/sidekiq.confに as uid <ユーザー名> を付けると指定したユーザーで起動する事が出来ました appユーザーでの起動の設定例: check process sidekiq with pidfile "/var/www/app/tmp/pids/sidekiq.pid" start program "/var/…

ハッシュのみで構成されたyamlにメソッドの様にアクセス出来るクラスを作ってみた

階層化されたハッシュはOpenStructで対応していない様なので作ってみました RailsのSettingsファイルの様な感じでアクセスできます yaml_settings.rb require 'yaml' require 'ostruct' class YamlSettings def initialize dir hash = YAML.load_file(dir) @…

SSHKitを単体で使ってみる

サイト移行しました blog.kozakana.net

DaemonSpawnを使用しているクラスで、デーモン化するかどうかを選べるようにする

デーモン化するプログラムで、普段はデーモン化したいがデバッグなどでデーモン化したくない時等にオプションで選択出来るようにしてみました。 継承するクラスをARGVの値をみて動的に変えました。 デーモン起動:ruby program.rb start デーモン終了: ruby…

コンソールへの出力に色を付ける

大量にメッセージを出して視認性が悪い時などにコンソールに色を付けて見やすくできます。 \e[とmの間に文字色の番号を入れるだけ print "\e[31m" p "エラーメッセージ" print "\e[0m" 最後に元の色に戻しておきます。 [文字色番号] 30 Black 31 Red 32 Gree…

ハッシュのキーを自動的に作成する

2階層のハッシュをいきなり定義する方法は下記の様にやるようです hash = Hash.new { |h,k| h[k] = {} } 多階層の場合はこれ hash = Hash.new { |h,k| h[k] = Hash.new(&h.default_proc) } 参照:http://shirusu-ni-tarazu.hatenablog.jp/entry/2013/01/20/…

googleスプレッドシートからシート名でシートを取得する

work_sheets.find_by(title: 'sheet_title')でうまくいかなかったので下記の方法で取得しました

.htaccessでスマートフォンとPCサイトを内部的に出し分ける

.htaccessでスマートフォンとPCサイトを内部的に出し分けようとして(ユーザーからは同じアドレスを参照)どうしてもリダイレクトされてしまう現象が起きた話

Rails データベース操作

Railsのデータベース操作でよく詰まるのでメモ

ActiveRecordで1時間以内に作成されたデータを取得する

ActiveRecordで1時間以内に作成されたデータを取得する簡単な方法があったのでメモ ちなみに、Rails4ではfindメソッドは廃止らしい find - リファレンス - Railsドキュメント

gem twitterでJSON::ParserErrorがでる

gemのtwitterを使用しているとき、あるツイートが来たときにJSON::ParserErrorの例外を吐いて死んでしまった。原因不明。

高速文字列検索をするTRIEをRubyで使ってみた

サイト移行しました blog.kozakana.net

twitter gemでstreaming

twitter gem でもストリーミングAPIが使えるらしいので試してみた。 ほぼ、公式ページ通りだけど。

OmniAuthを使ってPOSTでツイッター認証

POSTでツイッター認証しようとすると \xE2" from ASCII-8BIT to UTF-8 のエラーがでて認証できない

libjpegをxcodeでつかう

2点設定すれば使えます