Rails

RSpecでブラウザのダイアログを操作する方法

ブラウザのダイアログ Railsエンジニアにはおなじみではありますが(*)、リスクのある操作を行う際に、以下のようなブラウザのダイアログを表示することで確認を促す処理はケースとして良くあることと思います。(画像はGoogle Chromeの例。) 今回はそのよう…

ActiveResourceでauth_token的なトークンで認証する方法

Rails4からは正式にプリインストール対象から外れたActiveResourceではありますが、アクセス先が絵に描いたようなRESTfulAPI、とりわけ開発者が内情を知ってるRailsアプリ間の連携等では今なお大いに力を発揮するもの。しかし、 http://example.com/posts.js…

activerecordの関連するモデルをまとめて取得するメソッドのincludesが多段の関連モデルでも使えた

例えば、以下のような3層にまたがる関連モデルがあるとすると、 class Team has_many :members end class Member belongs_to :team has_many :tasks end class Task belongs_to :member end この場合、Taskのインスタンスオブジェクトから、 関連するTeamオ…

OmniAuth(OAuth2.0)でproxyを使う方法

YammerのOAuthで認証するアプリが作りたいんだけど、proxyが必要なネットワーク内でかつ、 環境変数の”http_proxy”が使えないときのメモ。※そんなマニアックスな人が世の中にどれだけいるか甚だ疑問ですが、、結果的に、 Rails.application.config.middlewar…

ActiveRecordモデルの独自で作成したメソッドもjson(もしくはxml)で出力したい

シチュエーション的には、 class Book < ActiveRecord::Base attr_accessible :title, :author, :price def price_with_tax return self.price*1.05 end end こんな感じでモデルに独自のメソッド(price_with_tax)がある場合、 # GET /books/1 # GET /books…

bundle installでproduction環境のgemはいれないようにする

bundle install --without production だ!

cloudfoundryで削除リンクを押してもshowアクションに行ってしまう(GETになってしまう)

発生。 gem 'cloudfoundry-jquery-rails' をとりあえず外すと大丈夫になりましたが、 副次的に使えなくなった機能が出たかはまだ不明。原因は調査します。※いずれ暇なとき

Railsでadminとかのnamespaceでくくわれたリソースへアクセスするときのform_forがなんかめんどかったときの対処

どゆことかというと、config/routes.rb的に、 namespace :admin do resources :users end ときとかの、newアクションやeditアクションで用いられる、scaffold的にいうと、_form.html.erb内のform_forメソッドは、普段は、 form_for(@user) do |f| とかって感…

Railsのviewのインラインの中に複数のメソッドが書けた

書けた。 <%= link_to("product1", URI1)+" | "+link_to("product2", URI2) %> これが、 <a href="URI1">product1</a> | <a href="URI2">product2</a> って。既存のヘルパーメソッドとテキスト部分とが織り交ざった独自のヘルパーを作るときに、力づくでやった方法。※上でいうRubyインラインタグ内…

Railsで別タブ(別ウインドウ)で開かれるリンクを作る方法

<%= link_to "go on to the next page", URL_PATH, :target=>["_blank"] %> これでおっけー!こうするとhtml的に、 <a href="xxx.html" target="_blank">go on to the next page</a> となって、別タブ(別ウインドウ)で開かれます。

Rails 3からHTMLエスケープがデフォルトになったよやったー!でも無効にしたいときもある

コレ。 <%= @user.name.html_safe %> で、自動のHTMLエスケープを無効化できるって話だったのだけど、 <%= raw @user.name %> というのもあるらしい。エスケープの観点でいうと前者のが良いのかしら。。どっちがいいんだっていう英語のQ&Aサイトはあった。コ…

Mac(Lion)にrails.vimを入れる

簡単だった。ここより最新のrails.zipをダウンロードしてきて、※おそらくデフォルトの~/Downloads/にできたよね。 cd ~/Downloads/ unzip rails.zip 展開されたファイル、 doc/rails.txt plugin/rails.vim autoload/rails.vimこれらをvimのRuntime Pathに置…

Railsのフォームで配列構造を扱いたい!

どうゆうことかというと、□商品1 □商品2 □商品3こんなかんじの並列な要素群とそれらのチェックボックスがあって、 複数選択可能なフォームを作る際に、受け取るパラメータとして、 params = {:products => ["1","3"]} こういう風にあるシンボルに対する複数…