suin.io
Dockerのローカル開発環境DinghyでSSL自己証明書を使う方法ローカルでの開発でもURLをHTTPSにしたいケースがあります。DinghyはHTTPSもサポートしているので、比較的簡単にHTTPSの開発環境を用意できます。この記事では、Dinghy上のDockerコンテナにHTTPSで接続する方法を紹介します。まず、自己証明書を作ってHTTPSでの通信をする前に、HTTPでの通信ができるかを確かめておきます。ここではホスト名をmyapp.dockerとします。http://myapp.docker にアクセスしてみてウェブページが表示されることを確認しておきます。次302016年11月25日Rails: carrierwaveの後継、refileでファイルアップロードを実装するRailsのフォームにファイルアップロードを付けるときに便利なのがrefileです。ファイルアップロード系のgemといえばcarrierwaveが広く知られていますが、refileはcarrierwaveの作者がその後継として作ったもので比較的新しいものです。refileの特徴にはがあります。ここではrefileを使ったファイルアップロードの実装手順を紹介します。今回はシンプルに画像がアップロード出来るだけのフォームを実装していきます。ここで作成した成果物のコードはGitHubで公開しています。Gemfi122016年9月11日このSlack時代に「笑顔」の絵文字の価値を考える最近の職場では、相手の様子を直接見ることができない文字によるコミュニケーションがますます増えているように感じます。メールに始まり、チャット、イッシュートラッカー、社内ナレッジベースなど様々です。リモートワークを推奨したり、実験する企業の報告も目にするようになり、今後は文字コミュニケーションは加速度的に増えていくものと予想しています。こうした時代の象徴として、表題には「Slack」を掲げましたが、Slackに限らずビジネスチャットでのコミュニケーションと絵文字について調べたことを交えつつ稚拙ながら僕の考えを3672016年9月8日Rails: simple_formで値の表示だけ行うSimpleFormでかゆい所のひとつに、入力系のコンポーネント以外がデフォルトで提供されていない点があります。例えば、ユーザが変更する必要がないけど、フォームに表示しておきたい値。具体的にどういうことかというと次のような例です。と書いたらが描画されるようにしたい。これを実現するには自分でカスタムコンポーネントを作る必要があります。次のapp/inputs/display_input.rbがそのコンポーネントです。これを作っておけば、simple_formで値の表示だけ行えるようになります。SimpleF402016年9月7日Railsの開発環境:1行でassetsのログを除外にする方法Railsの開発環境でログを見るときにアセットへのアクセスログに埋め尽くされて見づらいことがあります。下の図のように、ログがStarted GET "/assets/・・・だらけになっているのは良く見かけると思います。実はこれ、1行変更するだけ非表示にできます。Railsのバージョンによって変更のしかたが違います。アセット関連のアクセスログを出さないようにしてくれるquiet_assetsというgemがあります。Rails4ではこれをGemfileに追加するだけでOKです。sprockets-railsの322016年9月7日Rails:ransackでキーワード検索を実装する方法Railsのransackでキーワード検索を行う方法です。複数の単語を受け取り、複数のカラムを横断し、検索キーワードにマッチするレコードに絞り込むものですが、意外にも一筋縄ではいかなかったので対処法を紹介したいと思います。調べたり知人に聞いたりして、たどりついた最善の方法を紹介しますが、もっとスマートに実装する方法があるかもしれません。ご指摘などあれば是非お願いしますなお、ここでは複数カラムを横断してキーワード検索を行う方法です。ひとつのカラムに対してキーワード検索を実装するのは、Controllerでq202016年9月4日Rails: sequencedでネストしたリソースのIDを連番にするYahoo知恵袋やStackoverFlowのようなQ&Aサイトを考えてみましょう。こうしたサイトでは、質問1件につき回答が複数つきます。質問に回答がぶら下がった構造とも言えます。このような場合、URLはRailsのデフォルトでありがちなフラットなものよりも、階層化されたURLのほうがぴったりな場合があります。しかしながら、Railsで「質問ごとに回答のIDを1からふりなおす」ということは、宣言的に行うことができません。1そこで、sequencedを使い、親リソースごとに小リソースのIDを新たに1から連番202016年9月3日Rails:外部キー制約をマイグレーションで表現する方法Railsのマイグレーションではreferencesを使うことで外部キー制約を表現することができます。ここではそのやり方と、index: trueオプション、foreign_key: trueオプションの違い、両者を使った場合の振る舞い、referencesでは表現できない外部キー制約について触れたいと思います。次のようなCompanyとProjectの一対多の関係性を例に考えます。まず、モデルとマイグレーションファイルを生成します:次に、Projectsテーブルのマイグレーションファイルにt.refer332016年8月27日Rails: simple_formの日本語エラーメッセージに主語をつける方法Railsのsimple_formのエラーメッセージは主語(もしくは目的語)がないものがデフォルトで表示されるようになっています。例えば、入力必須のバリデーションでは、「を入力してください」のように日本語としては不自然なエラーメッセージになります。本稿では、エラーメッセージに主語をつけるようにする方法を紹介します。最初に見つけたのはsimple_formで表示されるエラーをfull_messagesのものにする - なんとなく日々徒然とで紹介されているintializerを書く方法です。config/in432016年8月23日MySQLとPostgresのデータ型対応表MySQLからPostgresに乗り換えるにあたり、MySQLとPostgresのデータ型が同じようで違うので、よく使うものを中心に対応表を作ってみました。602016年8月22日More posts