2016-02-01から1ヶ月間の記事一覧

slimでtext_field_tagを使う時に、placeholderを使う時の注意

今回は、slimのtext_field_tagにplaceholderを使う時に少しはまりました。 何にはまったかと言いますと、placeholder: 'Email' と入力したにも関わらず、input内にハッシュされた形ですでに表示されていました。 下記のような形では、valueの中に値が入って…

Factorygirlのモデルの関連付けのやり方

Factorygirlで関連付けしたモデルのテストを行いたい時があります。 そこで、Factorygirlのモデルで関連付けする方法になります。 Userモデルに対して、Postモデルが属するという関係です。 Userモデル class User < ActiveRecord::Base has_many posts end …

slimのcssの変数展開

slimでcssのid・classに変数展開したい場合はあると思います。 erbで書く場合は、そこまで意識しなくても書けるのですが、slimだとどういう風に書けばいいのだろうかって、悩んだりします。例えば、次のようなものです。 <li id="micropost-<%= micropost.id %>"> .... </li> これをslimで書くとこうなり…

rubyのラムダ式

ラムダ式ってご存知でしょうか? 自分は全く知りませんでした。 C言語の参考になりますが、概念として書かれていたので、載せておきます。 参考:ラムダ式 (C# プログラミング ガイド) ラムダ式は、デリゲート型または式ツリー型を作成するために使用できる…

rubyのヒアドキュメントの書き方

複数行の文字列を扱う場合、ヒアドキュメントを書くとすっきりと見せれることができます。 書き方は、次のようになります。 <

rspecのAjax対応で、capybara-webkit-の反応を待たせる方法

rspecでAjax対応をテストしているときに、capybara-webkitを使用している場合に、クリックした反応を待たずにそのまま次のテストにいってしまい、テストが失敗してしまうことがあります。 それを防ぐための方法になります。 test_helperのdefault値に反応を…

gitで最初に設定しておく便利な設定

git

git aliasでコマンドが楽になるという話を聞き、早速試しました。 ドットインストールで見たときは、習いたてだったので、コマンド省略したら分からなくなるよ・・・って思ってたのですが、gitを使っていくと、コマンド省略できたら楽になるわ〜って感じたの…

エンジニアが資料作成・デザインの「フォント」選択を勉強してみた

最近デザインに対しての考え方が変わってきました。 デザインの考え方って、「かっこいい」「オシャレ」など、そういうもので作成されているのかと思っていました。 使い勝手が悪いっていうのは、デザインの問題だっていう、お話があり、感心しました。 デザ…

rubyのsendメソッドについて

rubyのsendメソッドは動的にメソッドを呼べるということで、試してみました class Hoge class << self def say(name, age) if age.empty? puts "my name is #{name}, age is secret" else puts "Hello, #{name}, #{age}" end end def hello puts 'Hello worl…

rails のrenderにローカル引数を渡す時の注意

renderを使っていて、ローカル引数が渡せなかったので、忘れないために書いておきます。 _form.html.slim = form_for(user) do |f| = f.text_field :name = f.submit new.html.slim render 'form', locals: { user: @user } →undefined local variable or me…

リーダルコードの感想(明確な単語を選ぶ)

メソッド名で何をしようとしているのか、曖昧なままつけていることが多かった。 自分一人でやっている場合は、結局自分しか分からないはずなのに、振り返ってみるとわからない・・・なんてことがある。 可読性の高いコードはどういうものかということを身に…

RSpecで独自matcherを作成してみよう

RSpecを使っていて、minitestならできるmatcherが、RSpecにはないってことがあります。 例えば、統合テストでflashの有無を確認する場合 minitest asset flash.empty? RSpec expect(page).to have_selector '.alert' こんな感じになるかと思います。 flashの…

rubyのクラスメソッドの定義の仕方

最近になってようやく人のソースコードを読むということにチャレンジしています。 そんな時によく出るのが、class << selfというもの これの意味がわからなくて、詰まっていたので調べてみました。 そもそも、クラスメソッドの定義の仕方が分かればいいので…

sessionとcookieの違い

今回は、sessionとcookieに関してです。 よくある話題なのですが、自分の理解が曖昧だったので、調べました。 まず、なぜ、sessionという技術が必要になったかです。 例えば、自分がamazonで商品を購入する時にはアカウント登録して、ログインをしてから何か…

railsの「設定より規約」の意味

railsはよく「設定より規約」(CoC: convention over configuration)と言われます。 この意味が全然わかっていなかったのですが、今日実感しました。 Layouts and Rendering in Rails — Ruby on Rails Guides こちらにも書いてあるのですが、下記のようなコー…

railsのテンプレートエンジンの設定をしよう

新しいcontrollerを作成する時に、rails g controller hoge index〜をする度にerbやらscssが作成されます。 何回か新しいアプリの作成をしている時に毎回設定を探していたのですが、そもそもの原理が分かれば、自分でできるので、自分への備忘録も兼ねて書い…

enumについて

sendagaya.rbに参加させていただきました。 ActiveRecordでenumという型を使っているかというお話になりました。 自分はenum自体全く馴染みがなかったので、調べてみました。 C+をやっている方には馴染みがあるようですね。 参考:enum (C# リファレンス) en…