タグ

railsに関するmasaki0303のブックマーク (135)

  • cohakim's blog » proxy_optionsを活用してnamed_scopeをDRYに保つ

    概要 ・named_scopeは便利だけど、処理対象が複数のモデルに及ぶ場合、重複したコードになりがち => proxy_options を使うとnamed_scopeの条件部分をハッシュで取ることができるので、named_scopeを再利用できるよ! >> User.login('cohakim').proxy_options.merge(:include => :user) => {:include=>:user, :conditions=>["users.login like ?", "cohakim%"]} コード app/models/user.rb class User < ActiveRecord::Base named_scope :login, lambda{|login| login.blank? ? {} : {:conditions => ['users.login

    masaki0303
    masaki0303 2012/06/04
    proxy_optionsの活用方法。named_scopeの条件部分をハッシュで取得することができる。
  • 5 years know-how of RSpec driven Rails app. development.

    5 years know-how of RSpec driven Rails app. development. 2011年07月17日(日) (大ホール) 概要 Ruby on Railsを使ったプロジェクトにおいて、RSpecでテストを書きながら開発を進めていくノウハウについてお話しします。 現在、Railsを使った開発プロジェクトでは「RSpecなどによるテスト駆動開発をしたほうがよい」という考え方が極めて一般的なものになっています。RailsやRSpecのツールとしての使い方を照会している、書籍や良質なWebサイトも数多く存在します。 それでも、テストしやすい設計や、メンテナンスしやすいテストの書き方などのノウハウには唯一の正解などがあるものではありません。RailsやRSpec自体やそれを取り巻くテスティングツールもどんどん変化していきますし、方法論も変わっていきます。 この講演

  • はてなブログ | 無料ブログを作成しよう

    初めて梅干しを作ってみた話 今年の夏、初めて梅干しを作りました。 私梅干し大好きなんですが、自分で作るという発想がなくて…同僚が梅シロップを作っているのに影響されて去年から梅仕事を始めてみたんですが、そのときの説明書に「梅干しの作り方」というのも入っていて、えーー梅干しって自分…

    はてなブログ | 無料ブログを作成しよう
  • Rubyist - yamazのRails日記 - Ajaxっぽく画面遷移なしでファイルアップロードしたい!

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    Rubyist - yamazのRails日記 - Ajaxっぽく画面遷移なしでファイルアップロードしたい!
    masaki0303
    masaki0303 2011/12/05
    flash使わずAjaxで、画面遷移なしでファイルアップロードを実現する方法
  • ActiveRecordのクラスメソッドserializeの使いどころ - 夜の Discovery

    serializeはRubyオブジェクトをそのままDBに格納できる機能です。 非常に便利な機能なので、現在進めている案件で、この機能を多用しているのですが、結構使いどころが難しいことがわかってきたのでまとめてみます。 例えば、次のようにして使います。 class User < ActiveRecord::Base serialize :hobbies, Array end user = User.new user.name = 'kusakari' user.hobbies = ["baseball", "football"] user.save user = User.find(1) p user.hobbies # ["baseball", "football"] なぜ使いどころが難しいと思うか挙げてみます。 親オブジェクトと保存のタイミングが常に同じになる 例えば hobbies テ

    ActiveRecordのクラスメソッドserializeの使いどころ - 夜の Discovery
    masaki0303
    masaki0303 2011/11/22
    ActiveRecordのserializeメソッド。初めて知った。RubyオブジェクトをそのままDBに格納できるとは。一見すごく便利そうな雰囲気だが、使い方に色々と注意が必要。使う時は慎重に検討したい。
  • Ruby on Railsでホスト名によるコントローラー振り分け - route.rb - クロモリロードとかピストとか日々精進

    さて、いよいよ僕のRuby on Rails覚え書きも、怪しいものになってまいりました。 この日記のタイトル 「Ruby on Railsホスト名によるコントローラー振り分け」 という意味ですが、通常Ruby on Railsでは http://ホスト名.ドメイン名/コントローラー名/アクション名/ のようなURLの解釈をされるということは、皆さんご存知のことだと思いますが、この解釈部分を変更して以下のようにするにはどうすれば良いのかということをノウハウとして掲載しているものです。 http://コントローラー名.ドメイン名/アクション名/好きな名前/ もしくはRESTfulにしたいのであれば、以下のようなものも可能です。(共通の改造をした後に、route.rbで制御するだけですが・・・) http://コントローラー名.ドメイン名/名詞/アクション名 さて、やり方は至って簡単!! まず

    Ruby on Railsでホスト名によるコントローラー振り分け - route.rb - クロモリロードとかピストとか日々精進
    masaki0303
    masaki0303 2011/11/12
    railsでホスト名によってコントローラを振り分ける方法
  • Rails 3 の I18n について - おもしろwebサービス開発日記

    Ruby on Rails Guides: Rails Internationalization (I18n) APIを読んでのメモ。全部網羅してたりはしてないので、気になった方は原文見てください。 基 I18n.translate "store.title" I18n.localize Time.now # 短縮形 I18n.t "store.title" I18n.l Time.now config/locales が translation 用のデフォルトロードパス。 I18n.load_path や config/application.rb 内で config.i18n.load_path をいじれば修正できる。 辞書ファイルにはyaml形式かRubyのhash形式が使える。 デフォルトのlocaleは:en I18n.default_localeでデフォルトのlocaleを変

    Rails 3 の I18n について - おもしろwebサービス開発日記
    masaki0303
    masaki0303 2011/10/12
    改めてI18nって凄く便利。日本語翻訳をまとめて行なってもらえるのはもちろん、日本語呼び出しやフォーマットも全てI18nに任せることが出来る。
  • default_scope (ActiveRecord::Base) - APIdock

    1.0.0 1.1.6 1.2.6 2.0.3 2.1.0 2.2.1 2.3.8 (0) 3.0.0 (7) 3.0.9 (-1) 3.1.0 (26) 3.2.1 3.2.8 3.2.13 4.0.2 4.1.8 4.2.1 4.2.7 4.2.9 5.0.0.1 5.1.7 5.2.3 6.0.0 6.1.3.1 6.1.7.7 7.0.0 7.1.3.2 7.1.3.4 What's this? Class methods (218) === (<= v3.2.13) abstract_class? (<= v3.1.0) accessible_attributes (<= v2.3.8) active_connection_name (<= v2.1.0) add_conditions! (<= v2.3.8) add_group! (<= v2.3.8) add_joins!

    masaki0303
    masaki0303 2011/10/12
    modelにdefault_scopeを定義すれば、すべての条件指定の時に、その条件が追加される。逆にその条件を適用させたくない場合はwith_exclusive_scopeのブロック内で処理を行う必要がある。
  • 日本 Haml の会

    Haml/Sass の普及を目的としたユーザグループです。Rails 勉強会@東京の分科会のような位置付けで活動しています。略称は日ハムです。 活動内容 Haml/Sass に関する情報交換 (Rails 勉強会@東京、または irc.freenode.net の #rails-tokyo チャンネル) 各種イベントにおける Haml/Sass の宣伝 オープンソースプロダクトに Haml 化パッチを投げる

    masaki0303
    masaki0303 2011/10/07
    これからお世話になるページ。略称=日本ハムとな。
  • jQueryMobileを使って 簡単にRuby on RailsサイトをクールなiPhone対応サイトにしてみた - yuumi3のお仕事日記

    jQuery Mobile | jQuery Mobile を使って Ruby on Rails で作ったWebサイトを iPhoneなどのスマフォに対応したサイトに変更してみました。以下の画像は Ruby on Railsの Scaffold で作ったサイトをjQueryMobile対応した後の画面です。 クールなスマフォサイトになっています! 1. まずは普通にscaffold でアプリを作る Railsjavascript周りが大幅に強化された3.1を使っています。 % rails new jq_mobile % cd jq_mobile % rails g scaffold todo due:date task:string % rake db:migration % rails s 2. PCiPhone でview(layout)を切り替える jQueryMobile用

    jQueryMobileを使って 簡単にRuby on RailsサイトをクールなiPhone対応サイトにしてみた - yuumi3のお仕事日記
    masaki0303
    masaki0303 2011/10/04
    これは実際に試してみたい。jQueryを学ぶ機会にもなるしiPhone対応サイトの構築をすることもできる。自分の環境で試してみる。
  • CentOSでrailsアプリケーションをlighttpd - fastcgi経由で動かすためのfcgi導入ではまった記録 - sugilogのブログ

    会社のrailsアプリケーションは、lighttpd - fastcgi - ruby-fcgi という形でつないで動かしている。 で、今回環境構築をしていてはまった箇所があったので、記録がてらさらしてみます。 環境を徒然に書いていくと、 OS CentOS6.0 lighttpd 1.4.29 gcc 4.4.4 ruby 1.8.7-p352 rails 2.3.14 rubygems 1.3.7 今回はCentosのインストールが終わって、いろいろ設定して、という先から。 lighttpdのインストール この時点で、ncurses-develやgccなど、おおかたソースからコンパイルするときに使いそうなものは、yum経由で導入済み。 lighttpdのビルドに必要なライブラリの導入 sudo yum install pcre-devel sudo yum install bzip2-

    CentOSでrailsアプリケーションをlighttpd - fastcgi経由で動かすためのfcgi導入ではまった記録 - sugilogのブログ
    masaki0303
    masaki0303 2011/10/01
    railsアプリをlighttpd-fastcgi経由で動かすための設定。#include<cstdio>という記述が必要。
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    masaki0303
    masaki0303 2011/09/19
    controllerとviewに対するテストの記述方法
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    masaki0303
    masaki0303 2011/09/19
    概要とまとめ。
  • RSpecの標準Matcher一覧表 - 本当は怖いHPC

    追記2(2015/09/08)ありがたいことに、未だにこの記事をブックマークしてくださる方がいらっしゃいますが、2008年に書いた記事なのでご注意下さい。内容はアップデートしていません。私自身はすでにRubyを使っていません。 追記:古い情報ですので、記事の日付とお使いのRSpecのバージョンを見比べて、参考程度にご覧ください。大部分は通用するはずですが。 Matcherをいちいち調べるのが面倒になって、公式のリファレンスマニュアルは一覧性が低いから、自分で一覧表を作った。 RSpecそのものについては、スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)などをどうぞ。そのうちRSpec on Rails版も作る予定。 名前 not((should_notで使えるかどうかという意味。)) 意味・機能 == ○ ==演算子を利用して比較する。ex

    RSpecの標準Matcher一覧表 - 本当は怖いHPC
    masaki0303
    masaki0303 2011/09/19
    Matcher一覧
  • RSpecでテストコードを書いたまとめ - (゚∀゚)o彡 sasata299's blog

    2009年07月01日01:07 Ruby RSpecでテストコードを書いたまとめ 最近は Ruby のテストに興味があっていろいろ試しています。 今気になっているのは RSpec と Cucumber の2つ。今回はまず RSpec を色々触ってみたのでそのときのログをメモってみます。RSpec については RSpec + Autotest::screen = 最高の開発環境 でも書きましたが、BDD(振舞駆動開発)のフレームワークで、describe と it という2つのメソッドを利用します。describe にテストしたい振舞を書き、it にはそのときに満たすべき仕様を書くという感じです。今回は Rails で RSpec を使ったテストを書いてみましたよ。(=゚ω゚)ノ 事前準備として、rspec と rspec-rails と Zentest(テストを自動で走らせるため。この中

    masaki0303
    masaki0303 2011/09/19
    まとめ。autotestとZentestについても書かれている。
  • RSpec の入門とその一歩先へ - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 東京 Ruby 会議 03 の RSpec ワークショップの資料です。このワークショップでは参加者の方に「写経」(コードを書き写すこと)をして貰い、TDD/BDD と RSpec を同時に学べるように都度説明を入れるかたちで行いました。 第2イテレーションも書きました。続きに興味ある方はご覧下さい (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 1st iteration favotter の みたいな NG ワードのフィルタリング機能を RSpec で作りましょう。まずは NG ワードの検出機能を作成します。 このイテレーションでは最初ベタな形のテストコードと実装を書き、だんだんとそのコードを洗練させてゆきま

    RSpec の入門とその一歩先へ - t-wada の日記(旧)
    masaki0303
    masaki0303 2011/09/19
    rspecだけでなく、リファクタリングに関しても書いてある。
  • RSpec について勉強したまとめ - かせいさんとこ

    これは何? 会社で RSpec を使った、BDD を行っているのて理解の為にまとめてみました RSpecってんなんぞ?? 一言でいうと、BDD の為の DSL 日語でおk DSL ドメイン固有言語 やりたい事に特化した言語 今回の場合は、BDD に特化した言語(実際には、gem を使った Ruby の拡張) BDD 振舞駆動開発(behavior driven development) プログラムの振舞(≒要求仕様)を先に書く開発手法 っていうと普通だけど、その振舞がテストコードにもなる そのための DSL が RSpec BDDの歴史 XPのテスト駆動開発(TDD) ↓ テストにより、逆に仕様が明確化 ↓ テストってある意味要求仕様と同一だよね ↓ 自然言語で書かれれば、いろいろ便利だよね ↓ DSLの開発(RSpec等) ↓ BDD BDDだと何が得? TDDより、テストコードが可読

    RSpec について勉強したまとめ - かせいさんとこ
    masaki0303
    masaki0303 2011/09/19
    まとめ
  • はてなブログ | 無料ブログを作成しよう

    イラン料理記#5 にんじんのポロウ هویج پلو おばあちゃんに教わったにんじんポロウ。と言いつつおばあちゃんが作ってくれたのは一度だけで、元はおばあちゃんの姪っ子さんの得意料理でした。おばあちゃんとその姉、姪っ子のところに、わたしと大学の同期が3人でホームステイしていて、それぞれの家に遊びに行くこ…

    はてなブログ | 無料ブログを作成しよう
    masaki0303
    masaki0303 2011/09/19
    まとめ
  • リンギオ - Railsで遅延読み込みする

    ■問題 Railsで画面を表示するにあたり、 コントローラー内で重いデータ取得処理があり、 そのため render(表示) にいくまでに時間が掛かり、 結果、ページ表示に時間が掛かっている。 ■解決策 重いデータ取得処理をAjaxで遅延読み込みすることで、 まずは表示までちゃちゃっと進むことができる。 ■想定 music コントローラーの indexメソッドを表示する。 遅延読み込みのため realtime メソッドを用意する。 ・ビュー(/app/view/music/index.erb) <%= javascript_include_tag "prototype" %> <%= javascript_tag remote_function :url => {:controller => 'music', :action => 'realtime'} %> <div id='item1'

    masaki0303
    masaki0303 2011/09/07
    遅延表示を実現する方法。remote_function使えば楽チン。
  • Rails 2.3 で acts_as_paranoid を使ってみた - 基本へ帰ろう

    Railsで論理削除を行う方法の1つとして、acts_as_paranoidというプラグインがあるので、Rails2.3で試してみた。なお、rails3用にはrails3_acts_as_paranoidがあるようです。 acts_as_paranoidとは? データベースのテーブルのカラムに deleted_at を作って、deleted_atに日付があれば論理削除された状態、deleted_at が null なら削除されていない状態というのを管理してくれるプラグイン。 install $ cd RAILS_ROOT $ ruby script/plugin install git://github.com/technoweenie/acts_as_paranoid.git データベースを作成 migrationを作成して、カラム名 deleted_at、属性 datetime を持つ

    Rails 2.3 で acts_as_paranoid を使ってみた - 基本へ帰ろう
    masaki0303
    masaki0303 2011/09/03
    論理削除を行う方法。acts_as_paranoid。簡単に導入できて凄く使いやすそう。