webエンジニアさもの挑戦

RubyやPython, JavaScriptなど勉強したことなど、IT関連の記事を書いています

rails

国選択を簡単に実装するgem(country_select)の紹介

国名選択が簡単に実装できるcountry_selectというgemの紹介です。webサービスを多言語化する際に使用しました。

時刻の差を○日 ○時間○分○秒みたいに出力する

こんにちは、エンジニアのさもです。 今回はrubyの小ネタです。 仕事で日時データの差を○日 ○時間○分○秒みたいに出力するプログラムを書いたのでメモです。

私がRubyを好きな理由、10個ぐらい正座してちゃんと言えるから

約2年Rubyを触ってみて、Rubyの好きなところを書いていきます。

Railsのstrftimeの引数を調べた(スクレイピングで)

こんにちは、エンジニアのさもです。 Railsのstrftimeメソッドってめっちゃ便利ですよね。 webアプリを作っていると日時っていろんなフォーマットで表示する必要があるので、よく使っています。 今回、英語圏の方用にフォーマットを作っていたのですが、pm、…

Mysql2::Error: Unknown tableといわれたら

こんにちは、エンジニアのさもです Railsをやっていると、マイグレーションを書いて、しょっちゅうDBを編集したり、テーブル追加したりしますよね。 Railsでは、 rake db:rollback とすると、今実行されたマイグレーションの中で最新のものを巻き戻してくれ…

railsでフォームに複数のサブミットボタンをつける

1つのフォームに複数のボタンをつける実装方法を紹介します。

railsでファイルをzip形式にまとめてダウンロードする

railsのgem,rubyzipを使ってnzipファイルの作り方・ダウンロードの方法を紹介します。

Railsアプリを多言語対応するまで

こんにちは、エンジニアのさもです。 Railsアプリを多言語(今回は英語対応)する仕事をやったので、一連の手順をメモしておきます。

Deviseを使うときに、初回ログイン日時を登録する方法

こんにちは、エンジニアのさもです。 仕事で「初回ログイン日時を登録できるようにして」と言われたときにやったことのメモです。

1対1のアソシエーションでエラーが出る

railsで1対1の関係があるモデルを作ったときに、よく分からないエラーではまったのでメモです。 以下のようなモデルを想定します。 class User < ActiveRecord::Base has_one :bank_information accepts_nested_attributes_for :bank_information, allow_des…

railsで開発するときにブックマークしておきたいサイト・ブログ7選

railsで開発していると、よく使うメソッドなのにすぐ使い方を忘れてしまう。というのがよく起こります。そんなときにいつもお世話になっているサイトやブログを紹介したいと思います。

ActiveRecord::RecordNotSaved: Failed to save the new associated ~ と言われたとき

Railsアプリで、1対1の関係にあるモデルを実装したときに少しはまったのでメモ。 例えば以下のようなモデルがあるとします。 class CarManager has_one :car accepts_nested_attributes_for :car, reject_if: :all_blank, allow_destroy: true end class C…

Railsアプリ内でファイルが開かれているか確認する

railsアプリ内で画像ファイルが開かれているか確認する方法です。 私の環境では、railsアプリはcentos6.8で動いているので、その前提で書いていきます。 使うツールはlsofというlinuxコマンドですが、標準では入っていなかったのでインストールします。 sudo…

remotipartの不思議な挙動

デフォルトではajaxでファイル送信はできないのですが、それを可能にするのが、remotipartというgemです。 ただ単にファイル送信を可能にするだけならgemをインストールするだけで終わりなのですが、レスポンスを受け取ってエラーを表示したいときに少しはま…

herokuでrailsアプリからpythonスクリプトを呼ぶ方法

塗り絵ツクール2017 - Xnotepad というアプリを作ってみました。 webサーバはherokuで動かしていて、フレームワークはRuby on Railsでなのですが、画像の処理部分をpythonでやりたかったので、その時やったことを書いておきます。 私は開発環境にcloud9を使…

ThinReportがアップデートされてはまった話

開発環境では普通に動くコードが、テスト環境で、 uninitialized constant ThinReports というエラーが表示されていました。 テストサーバへsshでつないで、コンソールで確認すると、確かにThinReportsという定数が無いようです。

railsのログローテーションで新しくファイルが作られないときにやったこと

はじめに railsアプリのログを毎日ローテーションしようと開発環境で試したいたときにはまってしまったので、その解決方法を書いておきます。 開発環境は、 windows7でvagrant上にcentosをたてて、railsアプリを動かしている。 ソースコードはwindows上にあ…