Rails
dockerを用いたRailsの開発環境に新たにElasticsearhを組み込んだのでまとめます。 Dockerの設定 docker-compose.ymlを以下のように修正します。 version: '2' services: rails: # ~ imageとか元々の設定(省略) ~ # 追加 depends_on: - elasticsearch # 追…
システム間連携等の事情で、別DBを作ってデータを流し込みたくなったので実装してみました。 手順 例としてBookモデルを作り、別DBを対象にするようにします。 環境はmysqlです。元々使っているDBはmain_database、新しく使うDBはsub_databaseという名前にし…
RubyのObject#tapが便利だったので紹介します。(昔からあるらしいけど) tapメソッドとは ブロック文を渡すと中身の処理を走らせてレシーバを返すメソッドです。 hoge = "test".tap do |string| puts string true end puts hoge # "test" Objectクラスに定…
問題について https://github.com/slim-template/slim-railsを使って開発をしていると、特定の条件で開発環境下(development)でのみ見た目が崩れる減少が起きていました。 長らく原因がわからず解消できませんでしたが、先日ようやく何とかできたので紹介…
DBから取ってきた文字列を表示する際に、URLが混ざっていた場合aタグに置き換えて表示する必要があったためその処理を書きました。 コードはこんな感じです。 require 'uri' def convert_url_into_a_tag(text) text.gsub(URI.regexp(['http', 'https'])) do …
最近見つけたので紹介します。 今回は本(Book)モデルを例題にします。 方法 こんな感じでできます。 book = Book.find_or_initialize_by(id: 1) # book = Book.find_or_initialize_by(name: "こころ") # idじゃなくてもOK book.update_attributes( name: "…
最近RSpecを使ってテストコードを書いてます。それで開発環境でdb:rollbackとか色々していたらテスト用のDBと内容がズレてきてしまい、「えーい、今の開発環境に合わせんかい!」という時に打つと良いコマンドを見つけたのでメモ。 Rails5 bundle exec rails…
早速Rails5を触ってると、nested attributes周りで詰まったので紹介します。 症状 全ての項目を入れてもバリデーションに引っかかって保存できない。 モデル ここではモデル名をParent, Childとします。 class Parent < ApplicationRecord has_many :childre…
Account.where("name = binary ?", "HOGE") でいけた。 要領はmysqlと同じだった。 大体のことはやってくれるけど、 こうやって役に立つからSQLもしっかり勉強しておかないとなー思いました。