RailsのparamsはString

備忘録として。

はまった、というか初めて気づきました。タイトル通りRailsparamsStringなんですね。

事の経緯

以下のようなコントローラーがあったとします。

class ItemsController < ApplicationController
    def new
        @date = params[:date]
    end
end

それに対するspecが以下

require 'rails_helper'

RSpec.describe ItemsController, :type => :controller do
    describe "GET #new" do
        it "assigns the requsted date to @date" do
            get :new, date: 1
            expect(assigns(:date)).to eq 1
        end
    end
end

結果がこちら

f:id:koyamay:20150104212617p:plain

ナンデString!?

そういうもんだった

つまり、

  1. params[:hoge]は文字列で帰ってくる
  2. findメソッドは文字列でも指定することができる

ので普段あまり気づかなかったのですね。rspec書き始めて初めて気づきました。勉強になりました。

gitでnumstatを利用して総追加行数、総削除行数を取得するワンライナー

上期も終わり開発中のgitリポジトリの情報を採取して遊んでいました。Qiitaでコミット数や総追加行数、総削除行数を取得するワンライナーについての投稿があり活用させて頂いています。ありがたい...!

リンク先のワンライナーでコミット数は正確に計れるのですが、総追加行数と総削除行数がなにかおかしい。なぜか総追加行数が非常に多く計算されていました。

というわけで原因を調べてみました。

続きを読む

Elasticsearch + NESTによるインデックスの操作とCRUD基本

Elasticsearchを.NETで扱うライブラリNESTの基本的な操作についてです。

ドキュメントがあるにはあるのですが、情報が古いため現在では使用することのできない記述なども多いです。そのためテストコードを見るのが確実だと思います。ここではNEST ver.1.1.1のインデックスの操作と、簡単なCRUDについてメモ代わりに記載します。

続きを読む