![長文日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/8e51a4af9e6905da821ad502d0d1618c59f2a510/height=288;version=1;width=512/https%3A%2F%2Fi.gyazo.com%2F63f49a692ea7d00412808c73396c4470.png)
Railsにポリモーフィック関連という機能があります。 Polymorphic Associations - Active Record Associations - Ruby on Rails Guides class Picture < ActiveRecord::Base belongs_to :imageable, polymorphic: true end class Employee < ActiveRecord::Base has_many :pictures, as: :imageable end class Product < ActiveRecord::Base has_many :pictures, as: :imageable end ざっくりいうと、複数の親Modelに属するような子Modelの関連を抽象化してまとめる機能です。詳しくはRails Guidesや以
kumonoami プレカリアートユニオン 非正規雇用の駆け込み寺から砦へ 相談はTEL03-6276-1024 info@precariat-union.or.jp
RailsCast の #286 で紹介されている Draper を active_decorator gem で書き直してみました。この回は、日本語版の AsciiCast でも読むことができます。作業自体は単調で難易度も低く面白くありませんでしたが、RailsCast #286 Draper の精読も含めると、以下のような点を学べました。 RailsCast に載っている程度の例であれば、Draper も active_decorator もほとんど違いはない。Draper では作成したデコレータの公開範囲を指定できるとわかるが、たいして重要な機能ではないと思う デコレータを導入することで、モデルにビューのためのヘルパーメソッドを書かずにすみ、うまく分業できる デコレータを導入することで、ビューでの条件分岐をいくつかうまく隠蔽できる。もっともそれはヘルパー(app/helpers)でも
全国6,000万人の美女ファンのみなさん。ごきげんよう。 突然ですが「美人時計」というiPhoneアプリがあるのをご存知でしょうか。 全国各地の美女が1分毎にiPhoneに現れ、手にした黒板で時刻を教えてくれる、それはそれは本当に素晴らしいアプリです。 全国の美女ファンに熱烈な歓迎を受けた最初の美人時計がリリースされてから、僕はずっとこのシリーズの大ファンです。特に福岡版がお気に入りで、仕事中はスタンドに立てたiPhoneにこのアプリを起動させ、1分に1回の美女との出会いを楽しんでいました。 ただ毎日のように見ていると、何時にお気に入りの子が現れるのか分かってしまい、新鮮味に欠けてきます。名古屋版や京都版など全国各地の美女を堪能できる様々なバージョンがリリースされているのですが、それでも起きてる時間のほとんどはパソコンの前に座っているこの生活では、新鮮味に欠けるのは時間の問題です。 それか
Rails 3でファイルアップロード機能を超かんたんに実装できるPaperclipというプラグイン。 Rails 3 + Paperclipで画像サイズを指定すると、裏でRMagickが動いてる。 - このブログは証明できない。 バリデーション用のメソッドを持っています。バリバリです。 validates_attachment_content_type :image, :content_type => %w( image/jpeg mage/png image/gif ) ところが、IEでJPEGファイルをアップロードすると、上記のバリデーションに引っかかってしまいます。なんか、image/pjpegとかimage/x-pngとかも含めないとダメらしいです。 validates_attachment_content_type :image, :content_type => %w( ima
何かの理由で著者IDを付けて回らないといけない場合とか。 url_for(:controller => :books, :action => new, :id => 1, :author_id=63) #=> "/books/1/new?author_id=63" Viewに書き続けるのがしんどい場合、Controllerにdefault_url_optionsを書いてやるといい。 class BooksController < ApplicationController def default_url_options(options={}) options.merge :author_id => @haruki.id end def index end # 省略 end そうすると、Viewでauthor_idを書かなくても、自動的に追加される。url_forに限らず、url_forを使
Ruby 2.0.0-p0 is released Ruby2.0がリリースされました。Homebrewとrbenvによるインストール手順です。rbenv/OpenSSL/Readlineがインストール済みで最新にする場合は各ツールをbrew upgrade <formula> してください。 Environments Mac OS X 10.8.2 Mountain Lion Homebrew 0.9.4 Update Homebrew Formula brew update OpenSSL, Readline brew install openssl brew install readline ruby-build brew uninstall ruby-build brew install --HEAD ruby-build --HEADでインストール済みだと以下のエラーが出るので、
DG-Lawさんの以下のエントリが面白かったので,「勉強ができなかったけどできた子」としての感想を提示してみたい。 nix in desertis:勉強できた子あるある 「勉強ができなかったけどできた子」ってのはどういう区分かというと,上記事でも触れられている「時折現れる得意な教科しか勉強しない奴」である。俺はまさしくそのカテゴリに当て嵌まる存在であり,センター試験では数学IAIIBあわせて44点(200点満点)という壊滅的な成績を叩き出したがたいしてショックも受けず「まあこんなもんか」と平然としており*1,同じく世界史Bでは87点(100点満点)というそれまでの模試では考えられないほどの大惨敗を喫してしばらく凹んでいた,と書けばどんな立ち位置かがおおよそご理解いただけるのではないかと思う*2。 この両者は,内部にいる人間にとっては簡単に区別できる。友人や教師や親は,彼らがどんな成績の持ち
データベースからランダムでレコードを取り出す必要に迫られました。どうやって実装しようかな?と思っていたところ、ちゃんと関数が用意されていたんですね。 MySQLの場合。RAND()関数。 SELECT * FROM entry ORDER BY RAND(); SQLiteの場合。RANDOM()関数。 SELECT * FROM entry ORDER BY RANDOM(); はい、べんりー!これ、べんりー! なので、Railsだったら。 @entries = Entry.all :order => "RAND()" とすればOK。なのですが、MySQLとSQLiteで関数名が違うと不便。。
最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep
JavascriptJavascriptをデバッグするときに、FireBugsやCromeなどでデバッグできればいいんだけどそれが出来ない場合、デバッグがとてもメンドい。alertを埋め込んで行う俗にいうprintデバッグ的なやつで確認しないといけない。ほかにも方法はあるんだけど今はとりあえず置いといてwその場合、巷ではDEBUGフラグとか、confirmとかでalertを制御してデバッグしてるらしいけどほんの出来心で隠しコマンドでJavascriptをデバッグモードに出来たらいいなと思って作ってみた。
ここしばらく鬼のように忙しかったのですが、実は縁あって技術本を執筆していました。えぇ。そうです。Titanium Mobileの本です。この僕が本とか書いちゃってました。 本はもう少しで発売なのでおいおい告知しようと思いますが、今日は執筆しているときにMacで使っていた、Markdownのエディタ・ツールについて書いてみようと思います。 最近よく聞くMarkdown、GithubでもおなじみのMarkdown、エンジニア大好きMarkdownです。 Markdownとはいってもただのテキストなので、どんなエディタを使っても書くことができます。その中で僕が求めたのは・・・ 見出し(H1タグなど)やコードブロックが色付けされること 必要なときにプレビューできること プレビューのスタイルがカスタマイズできること プレビューをHTMLまたはPDFで出力できること ・・・でした。 ただMarkdow
16:29facebookアプリをrailsで作ろうと思って色々検索してみたのだがあまり日本語の情報がなかったので著者(Jonathon Horsman さん)の許可をもらってhttp://www.arctickiwi.com/blog/developing-facebook-applications-for-ruby-on-railsの記事を和訳してみた。-------------------------------------------このエントリは ruby on rails で facebookアプリを開発するときのために書かれたものですが、内容の多くの部分は特定の言語に縛られず、他の言語で開発する場合においても有用なものとなっていると思います。雑感facebookアプリケーションの開発を始める際、おそらくそれが苦痛に満ちた行程をたどることになるとすぐに気づくでしょう。APIは頻
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く