A Ruby on Rails Application that generates a National Voter Registration Form PDF from a webform. Includes the guidelines for the National Voter Registration form in all states. View the Project on GitHub democrats/voter-registration Download ZIP File Download TAR Ball View On GitHub Voter Registration About We need more Americans to have a say in their government, not just the special interests.
RailsでPageキャッシュをより広く活用する方法を考えてみました。以下、ちょっと長く前置きが続きます。 Rails遅杉 Railsは遅い。何が遅いって、Rubyが遅くてRoutingが遅くてRDBとRHTMLが遅い。RDBが遅いのは大抵のWebアプリケーションでは変わらない話、で、だからRailsなんかが評価される余地があるんだよね。RubyやRHTMLの遅さは柔軟性の代償として受け入れよう。なにしろRDBがもともと遅いんだから。ただ、Routingは無駄に高機能だったりして頭にくる。Rhino on RailsのSteve YeggeもRoutingは黒魔術だと言っていたし。私はActionPackの全てが黒魔術だと思うけど。 そういう訳で、RoutingをCで書き直すのはドリコムのみなさんがいつかやってくれると期待するとして(可能なら手伝いたいけどね)、当面の対応としてはキャッシュ
けっこう昔からあるのに割と最近知ったRailsの便利ヘルパー。 書式は以下の通り。 cycle(first_value, *values) 呼び出されるたびに与えられた順番に引数の文字列を出力する。 テーブルをストライプにするためにのコード例 まずはcycleを使わないで書いたコード。 <table> <% @items.each_with_index do |item, i| %> <% if i % 2 == 0 %> <tr style="background-color:#fff;"> <% else %> <tr style="background-color:#ccf;"> <% end %> <td><%= item.name -%></td> </tr> <% end %> </table> これがcycleを使うと次のように簡単に書ける。 <table> <% @item
250: ゼロから作る認証機能 (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto ほとんどすべてのRailsアプリケーションは、なんらかの認証機能を必要とします。パスワード認証機能を提供するライブラリとしてもっともよく使われるのが、Authlogic、Devise、 Restful Authentication、Clearanceの4つですが、どれを使うのがいいのでしょうか?AuthlogicとResful Authenticationはここ数ヶ月更新されていないので、残るのはDeviseかClearanceです。どちらもRailsのengineという仕組みによって、いくつかのコントローラとビューをアプリケーションに付加し認証機能を提供するものです。認証のような重
DB に日々のブックマーク数を保存している 指定した期間のブックマークの日別の数を表示 ヘッダには指定した期間のブックマークの合計を表示 というような場合を想定。 このような場合は、DB から取ってきた結果をComposite パターンを使った箱に入れると便利。 このくらいの用途だと「sum すればいいじゃん」という話になるけれど、 複数のテーブルからデータを取ってきた結果をComposite に入れて、ひとつのオブジェクトにまとめられて便利 Component とComposite の統一インターフェース(上の例ではCounts#count, Count#count)を持てるので、ポリモーフィズムを利用しやすい 入れ物に集計機能がついているので、DB 以外にmemcached から取得した結果に対して使えたりできる 等の利点はあるかなと思います。 また、Composite パターンはru
この関連ではまったので、自分用にメモしておきます、 libディレクトリの使い方 railsのRAILS_ROOT/libディレクトリには、プロジェクトで使用するライブラリを置いておきます。 例えば、既存クラスに機能を追加したい場合、まず追加機能を書いたファイルを用意します。 hash_ext.rb class Hash def only(*args) args = args.first if args.first.is_a?(Array) args.inject({}){|h, k| h.merge(k => self[k]) if self[k]} end end 次に、このファイルをlib下に設置します。そして、config/enviroment.rbで、このファイルを読み込むようにします。 environment.rb # Include your application confi
よく理解できていなかったのでチュートリアル的に整理した。 まずはチュートリアル用のアプリを新規作成して、コントローラーを一つ作る。 rails new ajax_tutorial cd ajax_tutorial rails g controller sandbox index update_time Ajaxなフォームやリンクを作成する form_forやlink_toといったヘルパーのオプションに:remote => trueを加えるとボタンを押した時やリンクをクリックした時のリクエストが非同期リクエストになる。 app/views/sandbox/index.html.erb <h1>Sandbox#index</h1> <%= link_to('update time', {:action => 'update_time'}, :id => 'update-time-link',
Railsには動的に生成したページを静的なhtmlファイルとしてキャッシュし、 二回目からのアクセスでは高速に表示してくれる機能があります。 やり方は、controllerに、 caches_page :hogelist と書くだけです。 今作っているシステムで、1日に1度しか更新されないようなデータをリスト化する必要があるのですが、 この機能を使ってキャッシュしようと思ったとき、ページングしているとキャッシュされないことに気づきました。 調べてみると、以下のブログで解決方法があったので、参考にさせていただきました。 Railsで開発するときにはキャッシュを予め想定に入れておく ページ指定の数字をパラメーターではないように見せる、ということでしょうか。 勉強不足でよくわかりませんが、とりあえずキャッシュされるようになりました。 例えば、route.rbに map.connect 'fuga
2012年2月14日 22:06 - CATEGORY: nginx, Rails, unicorn 前回からunicornとnginxとの組み合わせが微妙に遅いと言い続けていたが、ちゃんと調べたら、 nginxの設定がモロ間違っていた。nginx.confの設定において、ネットの情報をそのまま 鵜呑みにした状態でコピペしたのが間違いだった。それで遅かったようだ。m(_ _)m 前々回のnginx.confの設定において、以下のとおりとしていたが、 upstream unicorn_app { server unix:/tmp/unicorn.sock; } 正しくは以下のとおり、upstreamにつづく設定値は、アプリケーションのアドレス名にしなければ いけなかった。あわせて、ソケット名もあわせておいた。 upstream simsolrails { server unix:/tmp/s
いやぁ・・・Rails3はいいですね(`・ω・´) b Rails2とはなんだったのか・・・というレベルの完成度で、 なんとなく納得しないままRails2を使っていた私も、 Rails3になってからはバリバリに使いまくりです*1 そんなRailsを動かすAppサーバとして、 以前から定番になっていたのがpassengerでして、 私もApacheやnginxと組み合わせて使ってました*2 ただ、最近よく耳にするのがnginxにunicornを組み合わせた構成です http://unicorn.bogomips.org/ 前々から気になっていたものの、なかなか手をつけられなかったのですが、 仕事でもプライベートでもちょうどRails3アプリをリリースするタイミングだったので、 nginx+unicornの環境を試してみました なお、非常に細かな解説がある良記事がありますので、 ぜひそちらを先
ITエンジニア向けの質問・回答コミュニティ「QA@IT」で、「RSpec のテストがたくさんついたオープンソースの Rails3 アプリはあるでしょうか」という質問に対して回答したところ、少しはてブが付いたりしたようです。Railsに限らないかもしれませんが、ちょっとしたサンプルコードや簡易なアプリというのはたくさんあるのですが、そこそこの規模のアプリ、あるいは実運用されているアプリで参考にできるソースコードとなると、意外にパッと思い付かなかったりします。「Railsアプリなら、これを読め」というべきアプリのリストがあればいいのにと、よく思ったりしています。 そんなわけで、いま読むべきだと私が勝手に考えてGitHubのウォッチリストに入れているRails3アプリを、10個ほどリストアップしてみたいと思います(全部で11個ですが)。ほかにオススメなどがあれば、ぜひコチラで情報をお寄せください
279: Asset Pipelineを理解する (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto Asset PipelineはRails 3.1のもっとも大きな新機能ですが、同時にもっとも混乱しやすい機能でもあります。今回のエピソードでは、このAsset PipelineがどのようにRailsアプリケーションのアセットを管理するかを見ることによって、少しその神秘性を取り除いていきたいと思います。もしAsset Pipelineについてまったく知識がない場合は、Rails GuideのAsset Pipelineのページが多くの機能を説明しているので、まずそこから始めるのがいいでしょう。 Rails 3.1アプリケーションを書いたことがある方なら、http://
● [rails] Action Mailer Eメールサービス層を設計するためのフレームワークです。パスワード忘れのメール、契約時のウェルカムメール、支払い請求メール、といった準備された通知メールを人やシステムに配信することができます。さらにメールの受信処理もできるので、例えば、Eメール経由でweblogを利用したりもできます。 ● generate mailer メールの送受信を行うクラスを作ります。model, controller, scaffoldなどと同様に mailer にも generator がありますので、generate コマンドでクラスを作成することができます。例として、MLの登録用メーラクラス(RegisterMailer)を考えます。 % ruby script/generate mailer RegisterMailer → app/models/regist
Migrationとは Migration とは、Railsで使うデータベースの管理機能で、テーブル作成・カラ ムの追加/変更などの作業を一元管理できます。SQL でスキーマを書くのでは なく、Rails独自の記法(Rubyの文法の範囲内)を使ってDB管理を行います。以 下のようなメリットがあります。 スキーマのバージョン管理ができる rake コマンドでスキーマのバージョンアップ/ロールバックが可能 データベースに依存しない書き方ができるので、他のデータベースに切り替えるのが容易 対応しているデータベース 現在、対応しているデータベースは MySQL, PostgreSQL, SQLite, SQL Server, Oracle です。 今後、対応DBは増えていくと思います。最新情報は、 http://api.rubyonrails.org/classes/ActiveRecord/Mi
Rails on NaCl 統合開発環境RadRailsを利用する RadRails は Rails の統合開発環境で、Eclipse をベースに作成されています。 このページではLinux上における一般的なRadRails環境の作成方法と、RadRails環境下におけるバージョン管理の手順について簡単に説明します。 Eclipseのインストール RadRails のインストールは、Eclipse が同梱されているインストーラからまとめてインストールする方法と、Eclipse のアップデート機能を利用して Eclipse にプラグインとしてインストールする方法の2種類が存在します。 ここでは Eclipse にプラグインとしてインストールする方法を紹介します。既に Eclipse をインストールしている方は[RadRailsプラグインのインストール]に進んでください。 Eclipse SD
Introduction 第1章: for Ruby users (4) ・CRUD operations ・Assocations 第2章: for Rails users (15) ・With Scope ・Scoped Access 第3章: for Rails developers (17) ・Acts As View ・Finder Query CRUD : ActiveRecord Pattern require 'rubygems' require_gem 'activerecord' ActiveRecord::Base.eatablish_connection( :adapter=>"sqlite3", :db=>"db/users.db" ) class Member < ActiveRecord::Base # "members" e
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く