読者です 読者をやめる 読者になる 読者になる

RailsでPunditとshoulda-matchersを併用して、Rspecのcustom matchersが被った

Punditとshoulda-matchersにはpermitという同名のカスタムマッチャーがあって、衝突してしまう。 ので、punditのpermitは、spec_helper.rbでのrequire "pundit/rspec"をやめて、punditのカスタムマッチャーのpermitを使いたい個別のspecファイル、例えばuser…

RailsのResourcesでNestしてshallow: trueしたresourcesをAngularJSの$resourceで扱う

例えばこういう感じのresourcesを定義したとする。 APIの例。newとeditは省いた。 # routes.rb namespace :api, defaults: { format: :json } do resources :reports, shallow: true do resources :comments, except: [:new, :edit] end end 定義されるルー…

RailsでつくるAPIサーバのドキュメントを自動生成してくれるAutodocを使っていて気をつけること

Autodocとはなんぞやという方はこちらの記事を参照。 公式はこちら で、大変便利なAutodocだけど、注意点が2つ。 まず一点目はRspc3で動かない点。プルリクが上がってるが、取り込まれてない。 なので、forkして使ってる人が結構いる感じ。 2点目、通信が…

Rails4をJSON APIとして構築していてCreateのAPIに関連のID一覧をparameterとしてPOSTしてはまった

前提 1.Railsのwrap_parametersはJSONをRailsへ送った時にルート要素を省いてくれる。というか、省いて送ってもよしなにwrapしてくれる。 Railsのwrap_parametersは何をしてくれるのか? 2.has_manyを定義するとrelation_ids,relation_ids=というメソッドが…

Rails 4.1でhas_many :throughのuniq: trueはなくなってた

activerecord - Deprecation warning when using has_many :through :uniq in Rails 4 - Stack Overflow

Yeomanのgenerator-angularとRailsの組み合わせでの開発環境構築

grunt-connect-proxyを使って、rails server と、grunt serve の2つを叩いてLiveReloadで開発出来るようにしようという話。 あとフロント側をビルドするとRailsのpublicディレクトリに静的ファイルとして配備するように。 RailsのAsset PipelineにAngularJS…

Deviseでnamespace使う場合はdevise_for :users, path: :adminとかしとけという話

メモ。 Devise使用時にroutesでadminとかのnamespaceにdevise_forを入れると,Devise::SessionsController等で authenticate_user! が authenticate_admin_user! とかなってしまう*1 # config/routes.rb namespace :admin do devise_for :users, controllers:…

Rails 4.0.4 から 4.1.0 に Update

こんな感じに作業。 ↓ https://github.com/katahirado/kkfoodstuff/commit/7aca5b2986e26e88a78d7d58bc041ed97cba5e9e https://github.com/katahirado/kkfoodstuff/commit/a0c49840145587336b52cb2d56ba71f1dda1e84c Warning: you should require 'minitest/…

nginxとunicornをOS Xで自動起動にする

このエントリーで書いたレシピ食材検索アプリですが、自宅ネットワーク内のMac miniで、nginx+unicornで稼働させています。 permissionや所有者ではまると面倒なので、nginxもunicornもユーザ権限で動かしてます。nginxはport 8080、unicornはport 5000にし…

RailsでMySQL InnoDBの全文検索機能とMeCabによる形態素解析を使って出来るだけ検索結果をヒットさせる

前のエントリーの通り、妻と自分用にレシピ検索アプリを作りました。 ソースコードはこちら。出来るだけ検索結果で、食材をいい感じでヒットさせるために色々やったので、記録しておきます。 あと、検索結果を出来るだけヒットさせることに、全文検索機能は…

妻と自分の為にRailsでレシピ食材検索アプリを作りました

https://github.com/katahirado/kkfoodstuff レシピの登録と、検索ができるだけのシンプルなWebアプリです。 あまり特別なことはしていないのですが、検索でしっかりヒットさせたかったので、MeCabによる形態素解析を使ってます。 あとMySQL InnoDBの全文検…

Rails + Adobe AIRでの業務システム

昨年末から4月末まで、 Rails(JSON+RubyAMF) + Adobe AIR(Flexベース,デスクトップアプリ)での業務システムな仕事をがっちりとやっておりました。Adobe AIRというと、今だとモバイル開発が主戦場で、WindowsやMac向けのデスクトップアプリとしては、世間一…

第28回 Rails勉強会@東北に参加

https://www.facebook.com/events/378705102216002/OzakiさんによるRails4.0ネタでした。 はじめにこちらのスライド。 https://speakerdeck.com/alindeman/rails-4-dot-0-whirlwind-tourその中から特にStrong ParametersとTurbolinksについては、スライド見…

第27回Rails勉強会@東北

https://www.facebook.com/events/295738007193281/参加してきました。参加者5名。今回もRailsCastsを手を動かして皆でやっていった感じです。 やったのは、Deviseなどの認証系ライブラリを使わず認証をスクラッチで作るやつです。認証↓ http://railscasts.…

第26回Rails勉強会@東北に参加してきました

https://www.facebook.com/events/153651131446402/ 参加してきました。参加者4名。MongoidのRailsCastsをやってみました。 http://railscasts.com/episodes/238-mongoid-revised ハマったところを箇条書き。 MongoidはRuby1.9.3 でしか動かない BigDecimal…

第25回 Rails勉強会@東北参加してきた

https://www.facebook.com/events/342159302538342/参加者4人。今回やった内容。 AngularJS — Superheroic JavaScript MVW Framework Backbone-Rails Asset Pipelineについて mailman RailsCastsみながらPolymorphic関連 やった内容の参照先については、こち…

Rails1.2.6のRailsアプリをRails3.2.8で作りなおしてデモサイトとして公開しました

公開したのは求人情報検索のデモサイトです。 Rails3.2.8 twitter-bootstrap-rails Capybara rspec-rails timecop SimpleCov EventCalendar 実装作業はid:CortYumingさんにお願いしました。進捗はRedmineで管理して、私がチケットを切って、CortYumingさんが…

rails generate migrationで規約で生成してくれるのはaddとremoveだけ

メモ。Rails3.2.7で確認。 rails generate migration AddTitleBodyToPost title:string body:text published:booleanこういうやつ↑ renameとかも対応してないかなと思って、念のためソースコード確認してみた。 #activerecord-3.2.7/lib/rails/generators/ac…

Capybaraとdatabase_cleaner

メモ。Capybaraでit "…", :js=>trueしてて、fixtureを使ってDBをどうこうする場合は、database_cleanerというgemを使うというのが定石っぽいですが。 1件削除とかちょっとした所で:js=>trueしたいだけだったので、削除のためのデータを、画面なぞって、フォ…

Capybaraのdrag_toを使ってドラッグアンドドロップのテストを書いたら動かなかったのでSeleniumのdrag_and_drop_byを使って書いた

Request SpecとCapybaraで、jQuery UI のSortableを使った並び替え部分のエンドツーエンドテストを書いていて、ハマったのでメモ。 Capybaraのドキュメントを見てみるとdrag_toというメソッドがあったので、これを使ってみたけど、ドラッグアンドドロップさ…

8/8オープンアワーresult

今日は、Linuxサーバの設定を修正したり、Railsのテストを書いたり、調べ物してました。

rvm-capistranoを使わずRVM使用のサーバにCapistranoでデプロイする

デプロイ先のRubyがRVMだと、そのままだとRubyをCapistranoが見つけてくれないので、うぐっとなります。しかし、デプロイする側のローカル環境でもRVMを使っている場合には、rvm-capistranoというgemをインストールして使うと、ちょこっと設定を付け足すだけ…

twitter-bootstrap-railsを使ったRailsアプリをサブディレクトリ運用のPassengerにデプロイしたらAsset Pipelineでハマった

twitter-bootstrap-railsは便利ですね。とてもナイスなわけですが、タイトルの通り、PassengerでRailsをサブディレクトリで配備してたら、Asset Pipelineでハマったのでメモ。 先にどうしたかだけ書いておくと、Webフォントでの表示はやめて、画像表示にしま…

Asset PipelineでController毎のJavaScriptを出力

Rails 3.1以降。 コントローラーを生成すると、app/assets/javascripts/controller_name.js.cofeeが生成されているけど、標準だと、production環境では、どのコントローラーのviewを表示しているかに関係なく、これが全部まとめられてapplication.jsになって…

CapistranoでのRailsデプロイでハマった場合の対処

config/deploy.rbを確認 capistranoが出しているエラーメッセージをよく見る。 ヘルプや公式のリファレンスをよく見る。cap --helpとか cap -Tしてみて、もっとプリミティブなタスクがないか確認してみる cap -e TASK_NAMEも確認してみる cap shellを使って…

rspec-railsをGemfileに追加するときにgroupに:developmentを忘れるとrake -Tに出てこず、rake specができなくなる

タイトル通り。rspec-railsだけ追加してた時は、:developementもついてたんですけど、timecopやcapybaraを追加したときにgroupのブロック内にまとめました。 その時にうっかり外してしまい、出てこなくて数分悩みました。 group :test do gem "rspec-rails",…

8/1朝活&オープンアワーresult

黙々と作業。 今日も、Railsのテスト周りを中心に。主にはRequest SpecとCapybaraを使用して、エンドツーエンドテストを書いてました。 他JavaScriptを少々、Railsアプリのリファクタリングを少々。以上。

7/31オープンアワーresult

今日は一人でした。 やったこと。 Rails3.2のアプリにRSpec2でテストを書いたり、テストまわりの色々を調べていました。以上。

テスト時の日付を固定する

Timecopを使いました。 describe "2012年7月31日だった場合" do before do Timecop.travel(Date.new(2012,7,31)) end it "4月以降なので 2013を返すこと" do helper.hogehoge.should == 2013 end after do Timecop.return end end お手軽。追記: @takaiさん…

Rails3.2で、RSpecを使ってhelperのテストを書いた場合

Rails3.2のヘルパーメソッドでcontent_tagなどで、タグを生成して返しているけど、メソッドの結果がエスケープされて、ActiveSupport::SafeBufferが返ってきてる。RSpecでテストを書いてみたんだけど、エスケープされてて、have_tagとかで出来ないから、itの…

Mountain Lionをインストールして開発環境まわりでやったことメモ

手持ちのMac3台にMountain Lionを、一日ががりでインストールしました。 やったこと Mountain Lionをインストールしたからなのか?XcodeのCommand Line Toolsがなかったことになっていたので、もう一回インストールしました*1。あ、Xcode4.4です。 Command L…

Rails勉強会@東北第24回参加してきました

参加者4人。 今回はid:xibbarさんによるDelayed::Jobを使って見るセッションと、私が出したネタのRubyでWebSocketをやり、余った時間は色々雑談してました。 Delayed::Job 皆で、適当なRailsアプリを作って、ActiveRecordのやつを、READMEの通りにやって、C…

OmniAuthでFacebookにログインすると『#_=_』になるのはなぜか

http://d.hatena.ne.jp/CortYuming/20120623/p1 OmniAuthではなく、FacebookのGraph APIで認証して戻ってきての問題ということだそうで。 http://blog.kyosuke25.com/2012/03/facebookgraph-apijquery-mobile.html

第23回Rails勉強会@東北に参加しました

https://www.facebook.com/events/388412837883749/今回の参加者は5人。 やった内容 Rails3レシピブックのレシピ183を見ながら、OmniAuthでFacebookの認証 twitter bootstrapを便利に使う twitter bootstrap railsを使ってみた FacebookのGraph APIを、Graph…

6/5のオープンアワー報告

本日のオープンアワー参加者は4名でした。朝一に、10分ほど作業して、つぶのみにふぁぼ出来る機能を付けた後は、色々調べ物をしたり、先週クローズドβで登録できたSqaleをいじってみたりしてました。SqaleはRails,Sinatraと動かしてみて、両方ともさくっと動…

第22回Rails勉強会参加してきました

http://d.hatena.ne.jp/xibbar/20120507#1336377288 参加者は4人。Rubytterを使ってTwitterマッシュアップアプリを作るチュートリアルと、Rails 3 のルーティング定義を、routes.rbに記述して、rake routesなどで実際に確認していきました。http://mitukiii…

第20回Rails勉強会@東北に参加

https://www.facebook.com/events/261223037285301/今回は認証プラグインのDevise&sorcery、それからページネーションのkaminariを使ったアプリをそれぞれ動かす所までやりました。

第7回Sendai.rb&朝活に数分だけ参加してきました

http://d.hatena.ne.jp/xibbar/20120221#1329809134素で開始時間を一時間間違えてました。 ラビックスさんに到着したのが終了2分前という残念クオリティ。 通勤している人の人通りがいつも(7時30頃)より多いのでなんとなくおかしいなとは思ったのですが、ラ…

第19回Rails勉強会@東北に参加

してきました。https://www.facebook.com/events/246394092101585/内容 認証プラグインのDeviseをだらだらと。 同じく認証系のsorceryのRailsCastsを観たり。 後はオーストラリアからやってきたAndrew提供のネタで、forwadable等とたわむれたりしました。

第5回Sendai.rb&朝活参加しました

http://d.hatena.ne.jp/xibbar/20120130#1327894543 もくもく。 Rails3レシピブックを第3章モデルの終わりまでやりました。 来週は参加出来ない公算が高いので、もうちょっと進めておこうと考えています。 ちょっとのつもりが全部読了。

第4回Sendai.rb&朝活参加しました

http://d.hatena.ne.jp/xibbar/20120123#1327360673先週に続きもくもくしてきました。 今回は前回のRails勉強会@東北でやったRails3レシピブックの内容を復習してみました。 また、Recipe77まで新たに進めました。 月1回のRails勉強会@東北だけだと進みが…

第18回Rails勉強会参加&Sendai.rbなう

1月14日、第18回Rails勉強会参加してきました。今回はRails3レシピブック3章途中までやりました。 参加者多かったですね。でもって、ただいま(1月18日7:50〜)Sendai.rbでもくもく中です。

Railsはじめたタイミング

毎回忘れてていつからだっけと調べてしまうので、ブログに書いとく。 Railsを始めたのは2005年5月から。忘れないように>自分。 0.14ぐらいのバージョンからRails触ってたような気がしてたんだけど、0.12.1からだったみたい。 ブログ見返してみると、2005年が…

SubversionからGitへ移行&Redmine導入

バージョン管理にはSubversionを使ってました。 が、重い腰を上げてようやく移行しました。 後Redmineも導入してGitと連携させたよ。 MacBookPro(クライアント側)には既にMacPortsでgitを入れてあるので、Linuxサーバ上での作業。 gitはソースから最新のを入…

第1回東北情報セキュリティ勉強会でぷりん食って来たった

8月1日にid:ripjyrさん主催の第1回東北情報セキュリティ勉強会に参加しました。 このイベントにはTDCも協力してまして、会場の確保など微力ながらお手伝いさせていただきました。 ちなみに会場の確保はid:monyakataさんにやっていただきました。monyakataさ…

Rails勉強会@東北第16回

21日に開催しました〜。 最初は武田ソフトさんによるRestfulとDOM Scriptingの話。 jsonはあんまり使ってなかったので参考になりました〜。 自分の発表。ActiveRecordのいろは。 舞波さんのRuby on Rails入門―優しいRailsの育て方 を参考にしつつ、手を動か…

あー・・・

6月26日の前に6月21日にRails勉強会@東北第16回があります。 MLにながしてブログに書くの忘れてました。http://wiki.fdiary.net/rails/?RailsMeetingTohoku-0016こちらも宜しくー

Ruby勉強会@青森 第9回 拡大版? WDHA meets Ruby勉強会?

3月21日、予告通り?青森に行ってきました。青森は思ったより寒くなかったです。参加人数は26人? 第1部 Ruby on Rails 実況コーディング(古川さん) ライブコーディングとかって本番になると大体トラブルになる不思議。 入念に準備しても必ず何か起こるんで…

Rspec on Rails いいじゃないですか

Rspec すぎょい。昔作ったRailsアプリをRspecでテスト書き直してみたら、バグを5カ所見つけた。いや、自分がへぼいんですけどねorzもっと早くRspecにスイッチしておけば良かったです。追記:どのくらい書き直して五カ所かは・・察して下さい。かなりへこんだ…

Rails勉強会@東北第15回

23日はRails勉強会@東北第15回だったよ。 参加者は4人。id:sheegさん、xibbarさん、すずりょさん。 セッション Merb(というかDataMapper) -片平 JRuby+Swing id:xibbarさん Rails+Flex+Red5 -片平 Merbは、Rails勉強会@東京にいって来たので情報を共有出来…