タグ

ブックマーク / www.oiax.jp (15)

  • 第12回: ユーザー認証(1)

    前回は、Rails 3.0 で導入された新しい Gem パッケージ管理ツール Bundler を紹介しました。 今回と次回はユーザー認証の仕組みをアプリケーションに追加します。 Devise Devise を利用すると、メールアドレスとパスワードによるユーザー認証機構を Rails アプリケーションに簡単に組み込むことができます。 現時点(2010/08/30)での最新版は 1.1.2 です。Gemfile を次のように修正してください。 source 'http://rubygems.org' gem 'rails', '3.0.0' gem 'sqlite3-ruby', :require => 'sqlite3' gem 'will_paginate', '3.0.pre' gem 'devise', '1.1.2' 続いて、Bundler でインストールします。 % bundle

    rochefort
    rochefort 2012/12/19
    rails generate devise user やってみてる
  • NetBeans 7.1にRuby on Railsプラグインをインストールする手順

    7.0の時と同じ方が書いたブログ記事に、NetBeans 7.1にRuby on Railsプラグインをインストールする手順が紹介されていましたので、その内容を再構成して掲載します。 まず、http://jruby.org.s3.amazonaws.com/downloads/community-ruby/community-ruby_7_1_preview1.zip をダウンロードして、適当なディレクトリに展開しておきます。 そして、NetBeans 7.1を起動して、以下の手順でプラグインをインストールします。 メニューから[ツール]→[プラグイン]を選択 [ダウンロード済み]タブを選択 [プラグインの追加]ボタンをクリック ZIPファイルを展開したディレクトリの下のupdatesディレクトリにある、すべての.nbmファイルを選択(計25個) [OK]ボタンをクリック [インストール]

  • Rails 3.xでISO-2022-JP(JISコード)の電子メールを送る: mail-iso-2022-jp

    最近は日語の電子メールもUTF-8で送ってもいいという雰囲気になってきましたが、不特定多数が使うWebサービスを運営する場合は、まだまだISO-2022-JP(いわゆる「JISコード」)を使わざるを得ません。 しかし、Rails 3.xでISO-2022-JPの電子メールを送信するには、ひと手間が必要です。単に class UserMailer < ActionMailer::Base default :charset => 'ISO-2022-JP' ... end のように書くだけでは足りません。件名や文のデータをISO-2022-JPで渡す必要があります。私は、メール文のテンプレートをUTF-8で書きたいので、自動で文字コードが変換されるようにならないものかと考えました。 ネットで探すと、Matsushitaさんという方がmail_jaというプラグインをGitHubで公開されて

  • NetBeans 7.0にRuby on Railsプラグインをインストールする手順

    先々月、さようならNetBeans/こんにちはRedcarという記事を書きました。 その後、NetBeans 7.0 Beta 2 がリリースされましたが、確かにRuby用のダウンロードバンドルはなくなっています。 しかし、有志でNetBeans用のRuby on Railsプラグインを維持しようという動きも出てきています。 あるブログ記事に、NetBeans 7.0 Beta 2にRuby on Railsプラグインをインストールする手順が紹介されていました。以下、日語に翻訳したものを掲載します(多少、手順を追加しています)。 メニューから[ツール]→[プラグイン]を選択 [設定]タブを選択 [追加]ボタンをクリック [名前]に「Beta」と入力 [URL]に「http://updates.netbeans.org/netbeans/updates/7.0/uc/beta/stable

    rochefort
    rochefort 2011/03/22
    netbeans7
  • RubyGems 1.5 が出たけど

    先日(2011/1/31)に、RubyGems 1.5がリリースされました。 RubyGems 1.4.x で生じていた「Ruby 1.9 で動かない」という困った問題が解消され大変よろこばしいことなのですが、早速、同僚から別の問題が報告されました。 Rails 2.3.4 で動かないよ。 というのです。 あるブログ記事に寄せられたコメントによると「Rails 2.3.5 でも動かない」そうです。同僚の報告によれば、最新の2.3.10では大丈夫らしい。 可能であればこの機会に該当するRailsアプリケーションを最新の2.3.10にアップグレードすべきところですが、現実にはなかなかそういうわけにも行きません。 というわけで、RubyGems 1.3.7にダウングレードする手順をメモしておきます。 まず、インストールされている rubygems-update のバージョンを調べます。 $ ge

    rochefort
    rochefort 2011/02/17
    gem1.5は要注意
  • 第9回 メンテナンスページへの切り替え

    今回は、Capistrano の deploy:web:disable と deploy:web:enable タスクについて。 cap -T で表示される説明によれば、それぞれのタスクの目的は次の通り: deploy:web:disable -- 訪問者にメンテナンスページを見せる。 deploy:web:enable -- 再びアプリケーションをWebアクセス可能にする。 うーむ。便利そうであるが、これだけでは何がどうなるのか今ひとつピンと来ない。ソースコードを見てみよう(一部、省略)。 namespace :deploy do namespace :web do task :disable, :roles => :web, :except => { :no_release => true } do require 'erb' on_rollback { run "rm #{share

  • 続・Rails 3.x 時代のテストフレームワーク

    先日の記事Rails 3.x 時代のテストフレームワークで、私は「Railsのテストを取り巻く状況が複雑に拡散しつつある」と書き、デファクトスタンダードがまだ現れていないんじゃないか、ということを示唆しました。 その後、この件について他の人が書いているのを更に読んだり、実際にフレームワークを使ってみたりして、わかったことや考えたことをまとめてみようと思います。 まず、Railsで使用できる代表的な4つのテストフレームワーク Test::Unit, RSpec, Shoulda, Cucumber の基礎知識と相互関係について。 Test::Unit は、Ruby 実行系と一緒にインストールされる標準ライブラリの1つです。20世紀末に提唱されたソフトウェア開発手法エクストリーム・プログラミング(XP)が求めるテスト駆動開発をRubyで実践するために作られました。Java 用の JUnit、.

  • Test::Unit と RSpec と Shoulda

    昨日の記事 続・Rails 3.x 時代のテストフレームワーク では、Rails で使用できるテストフレームワークの基礎知識と相互関係についてまとめました。 今日は、Test::Unit と RSpec と Shoulda を具体的に比較してみたいと思います(Cucumber については、別の機会に…)。 例として「変数 @total に文字列 '100' をセットすると、式 @total.to_i は 100 を返す」というテストケースを考えましょう。 純粋な Test::Unit ではこのように書きます。 require 'test/unit' class SimpleTest < Test::Unit::TestCase def test_should_return_100 @total = '100' assert_equal(100, @total.to_i) end end R

  • Rails 3.x 時代のテストフレームワーク

    Rails 1.x の頃、テストと言えば Test::Unit であり、Fixtures でした。 この2つがあったからこそ、私は Rails を好きになったんだと言えます。 Test::UnitRuby 標準ライブラリの1つですが、Rails はそれを巧妙に拡張して、自らと一体化させていました。 Rails は Web アプリケーションを開発するためのフレームワークであり、同時にその Web アプリケーションをテストするためのフレームワークでもあったわけです。 Fixtures は、テストの対象となるサンプルデータをデータベースに投入するためのツールです。 テストを開始する時点でのデータベースの状態を YAML 形式あるいは CSV 形式で記述しておくと、Fixtures はテストを行う直前にデータベースをその状態に戻してくれます。つまり、Fixtures によって再現性のあるやり

  • RESTful Ruby on Rails -- 単数と複数

    前回のRESTful Ruby on Rails -- その美しさと難しさで、Rails における REST の世界は抽象度が高くて難解だ、ということを書きました。 今回は、Rails の REST が日人にとって特に難しい理由について。 それは、英単語の単数と複数の違いを常に意識しなくてはならない、ということ。 もちろん、REST の概念が導入される前から Rails によるアプリケーション開発で、私たちは company と companies の違いを意識してきました。 テーブル名なら companies で、モデル名なら Company。 でも、これは非常に基的な約束事であって丸暗記すれば済んでしまいます。しかし、REST の世界では、この文脈においてアプリケーションが扱っているこのリソースは集合的(collective)か個別的(individual)か、と考えた上で英単語

  • フレームワーク対 CMS

    Ruby on Rails のライバルは、他のフレームワークだけではありません。 CMS (Content Management System) と呼ばれている一群のシステムとも競合します。 今回、比較の対象として選択したのは、以下の 5 つです。 WordPress (PHP) Joomla! (PHP) Drupal (PHP) Xoops (Python) Movable Type (Perl + PHP) 比較基準としては、例によって Google Trends と indeed.com の Job Trends を利用しました。 CMS の世界はフレームワークの世界以上に、数多くの競合製品がひしめきあっています。 ここに挙げた 5 つ以外にも Nucleus CMS, Typo3, Mambo, Zope, Plone, PHP-Nuke 等があります。 なお、Joomla! は

  • どのプログラミング言語が将来的に有望か

    どのプログラミング言語が将来的に有望か。 IT 業界に携わる人であれば誰でも気になることでしょう。 私の現在の専門である Ruby とその他の言語について、統計的なデータに基づいて比較したいと思います。 比較対象は、Web 開発でよく使われる JavaPHP、C#、PythonPerl とします。 まずは、有名な TIOBE Index のデータ(2009 年 1 月)から。 Java (19.022%) (-1.83%) 1位→1位 PHP (8.882%) (-0.31%) 4位→5位 C# (5.609%) (+0.75%) 8位→6位 Python (4.731%) (-0.81%) 6位→7位 Perl (4.303%) (-0.94) 7位→8位 Ruby (3.149%) (+0.80%) 11位→11位 括弧の中は、現在のシェアと 1 年前からのシェアの変化を示していま

  • Ruby on Rails with OIAX

    【最新刊】 Elixir実践ガイド[機能拡張編] impress top gearシリーズ 2020年5月22日発売! 『Ruby on Rails 6実践ガイド』の続編です。 ▶ 読者サポートページ 【最新刊】 Elixir実践ガイド impress top gearシリーズ 2021年2月5日発売!Elixir 1.11対応! 書の主要なテーマは、モジュール、関数、データ型、パターンマッチングなどです。 ▶ 読者サポートページ Elixir/Phoenix 初級④: バリデーション (OIAX BOOKS) Kindle書は、『Elixir/Phoenix初級』シリーズの第4巻です。Phoenix 1.4に対応しています。webpackの設定、whereマクロの使い方、真偽値と日付のあ使い方、Gettextモジュールによる国際化、バリデーション、エラーメッセージの日語化、など

  • 機能テスト冒頭部分の修正、等

    前回は、機能テストのうち main コントローラに関するテストが通るようにしました。 続いて、members コントローラをやっつけましょう。 > ruby test/functional/members_controller_test.rb (省略) 8 tests, 19 assertions, 1 failures, 2 errors 失敗が 1 個、エラーが 2 個。このくらいなら、すぐ終わりそうです。 エラーの原因は、前回同様ページネーション関係です。 # 会員一覧 def index (省略) if params[:group_id] @group = Group.find(params[:group_id]) @members = @group.members.find(:all, options) @member_pages = ActionController::Pagi

    rochefort
    rochefort 2009/07/09
    -Itest
  • ページネーション

    前回は、トップページが表示できたところで終わりました。 単体テストは通るでしょうか。 > rake test:units (省略) /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:428:in `load_missing_constant': Expected /home/kuroda/hgrepos/books/kiso_rails/cd-rom/chapter9/ app/helpers/mobile/blog_entries_helper.rb to define Mobile::BlogEntriesHelper (LoadError) (省略) あれれ、通りませんね。問題の app/helpers/mobile/blog_entries_helper.rb を見る

  • 1