spring of life

技術、ときどき日常のブログ(予定)

Rails

jbuilder の使い方2

前に こういう記事を書いたんだけど、結構見られてるんだよね笑leonis.hatenablog.comで、1つ前の記事で多対多の関連を作ったというのを書いて、同時にレスポンスの json の形式も↓のように変えてみた # 変更前 { "payment_type": "income", "date": "2017-0…

多対多の関係のモデル作成

今回はhas_and_belongs_to_manyを使う方法で実装してみた 例として、というか自分が家計簿のアプリで実装したのは、収支情報(payment)とカテゴリ(category)の関連の作成 まずはスキーマの作成 中間テーブルのファイル名はアルファベット順という規則(categor…

kaminari のテンプレートでローカル変数を使う

今日はもう1つ書くよ!kaminari を使って、テンプレートの中で <%= paginate @objects %> みたいにページングする時、第2引数にハッシュを指定して値を_paginator.html.erbに渡せるっぽい例えば、 # hoge.html.erb ... <%= paginate @objects, {:hoge => '…

Selenium-WebDriver のインストール

前にこんな Capybara-Webkit のインストール方法の記事を書いたんだけど leonis.hatenablog.com Selenium-WebDriver も使ってみることにした。最近は 3.x にアップデートされてるみたいだけど、CentOS 6 だと無理っぽかった。 Firefox を使ったんだけど、Sel…

before(:all) 内でスタブ作成

RSpec でスタブを作ろうとしたら before(:each)の中でしか作れなくて、before(:all)の中で作れないのかな〜といろいろ調べてたらこういうのがあるらしいrelishapp.com例えばこんな感じ before(:all) do RSpec::Mocks.with_temporary_scope do allow(HogeClas…

認証機能を作った時のあれこれ

クライアントアプリの認証機能を作ったんだけど、その時に調べたことをまとめる!アプリが認証とは、だけど、 サーバ側のアプリにあらかじめIDとキーを発行してもらう 発行してもらったIDとキーをAuthorizationヘッダに付けてリクエストを送る ぐらいの簡単…

twitter-bootstrap-rails を使ってみた

しばらく書いてなかったから更新しとこ。。ビューがあんまりイケてなかったので twitter-bootstrapの力を借りてみたRails なので、js をダウンロードしてそのまま使う方法じゃなくて、gem を使ってみた詳しくはこのあたりかな〜あとは好きなように html を作…

jbuilder の使い方

使い方、というか自分用にこういう時はどう書けばいいか、というのをメモしておくまぁ、WebAPI で json を返す時もビューと同じように処理しようかな〜と考えてて、そういう風に実装したんだけど、まだまだ慣れなくていろいろ調べながらやってしまって時間が…

ActiveRecord の Date型の検証

Date型の検証がうまくいってない。。 class Account < ActiveRecord::Base ... validates :date, :presence => true, :format => {:with => /\A\d{4}-\d{2}-\d{2}\z/} ... な感じで日付のフォーマットを指定してるんだが、 2.2.0 :004 > a = Account.new(:ac…

ページネーションの ajax 対応

kaminari の ajax 対応にかなり時間かかった。。。いわゆるページネーションのリンクをクリックしたら(例えば)次のリソース一覧が表示される、とかじゃなくてページ上部にリソース登録画面があって、submit ボタン押したらリソース一覧とページネーション…

kaminariを使ったページング

今日はもう1つ書くよーw今度は Rails で、リソースが多くてビューをページングしたい時に使う gem の紹介kaminari っていう gem を使ったけど、かなり有名なやつだよね。。。紹介してる人けっこういると思うのであんま細かい事は書かないかな〜たぶん、基本…

RailsとD3.jsを組み合わせる

D3.jsはブログ初登場かな?D3.jsはデータを可視化する時に使うjavascriptライブラリで、汎用性がめちゃくちゃあるけど使いこなすのに時間がかかるっていうやつgithub.com これをRailsアプリといっしょに使ってみた。だいたいこんな感じ1. 可視化するデータを…

$(document).ready が実行されない件

タイトルの通り、RailsでTurbolinksとかいれてるとリロードしても$(document).readyの中の処理が実行されなくてちょっと困ってた$(document).readyの中で関数を定期実行させる処理と、その関数を最初に1度実行させる処理を書いてたんだけど、リロードしても…

例外のテスト

RSpecで、ちゃんと例外が発生しているかをテストする時に、 expect{ hoge() }.to raise_error(HogeError) みたいな感じで書くけど、もうちょっと中身も確認したいって時はブロックを作ればいいみたい expect{ hoge() }.to raise_error(HogeError) do |e| exp…

テーブルの数をカウント

Capybaraの話ですテストとかでビューに表示されているテーブルの数の数え方 page.all('table tr').count page.allで引数にマッチする要素を取り出して、その数を数える感じ

capybara-webkitのインストール

RSpecでビューを操作しながらテストしたい時に、capybaraとか使ったりするけど、capybaraだけだとjavascriptが動かないらしいそこでちょっと困ったので動くようにしようとcapybara-webkitをインストールしたんだが、めちゃくちゃ面倒くさかった。。。やった…

フォームの作成

ちょっと最近書いてなかったので更新! Railsでform_forを使って入力フォームの作成をやったので、ちょっと詰まったとこをメモ パラメータの名前を変更する 普通に実装するとモデル名が決まっているのでパラメータ名も決まる <%= form_for @hoge do |f| %> <…