タグ

ブックマーク / diary.shu-cream.net (3)

  • (Railsで)プロフィール更新みたいなやつの注意点 - けんちゃんくんさんのWeb日記

    前職と現職で2アウト案件。 Railsに限らないけど、ログインユーザの情報を変更するときは current_user みたいな変数を変更するんじゃなくて、DBを引き直して更新しましょうって話。 ダメな例 class ProfileController def update if current_user.update(profile_params) redirect_to :root else render :edit end end end 良い例 class ProfileController def update @user = User.find(current_user) if @user.update(profile_params) redirect_to :root else render :edit end end end なんでだめなの? バリデーションエラーが起きた時に

  • Turnipを使ってtappのテストを書いた話 - けんちゃんくんさんのWeb日記

    WEB+DB PRESSのRubyわくわくナビでも紹介されたtappのテストについては社内でも定期的に上がる話題で、もう少し広い意味で考えると、標準出力を扱うアプリのテストをどうするかという話になったりするのですが、 tappの単体テストってなんかしっくりこないよね 標準出力に出すだけだしね そういえば、vim-ruby-refactoringっていうVimプラグインのテストがCucumberで書いてあるんですよ そういえば、jnicklas先生の新作Turnipっていうのがあって… それ使ってみましょう という感じでTurnipを使ってAcceptance Testを書いてみました。 Turnipの特徴はこんな感じです。 記法はCucumberと同じGherkin Stepの定義に正規表現を使わずに、ただの文字列と、その中にコロン(:)をプレフィックスとしたプレースホルダで変数を扱う S

  • tappについてそろそろ一言言っておくか - けんちゃんくんさんのWeb日記

    弊社で(総力を上げて)メンテナンスしているtappというライブラリがあるのですが、思ったより認知度が低いようなのでここで紹介させていただきます。 まとめ tappは、従来のPrint Debugの問題点を解決する画期的なライブラリです。 次のような経験がある方は、いますぐGemfileにtappを追加することをお勧めします。 メソッドチェーンの間のオブジェクトの状態を見るためだけに一時変数を使ったことがある ppやp、putsを消し忘れてリポジトリにコミットしてしまった tappとは tappは、Print Debugを簡単に行うためのRubyライブラリです。 リポジトリはhttps://github.com/esminc/tappになります。 tappの歴史 tappの作者である@ursmは、2008〜2009年頃に社内向けのモンキーパッチとしてtappを生みだし、Rails勉強会41.

  • 1