12月3日韓国に戒厳令が宣言された。そして寒空の元に届けられるコーヒー。 12月3日22時半ごろ、 どういうわけか尹錫悦大統領により非常戒厳が宣言された。それについて、韓国で生活をする私の視線で記録をしておきたいと思う。今週は書きかけだった高雄&台南旅行記をスタートさせたかったが、後回しにする。 (写真は今回の弾劾を求めるデモで…
For full functionality of this site it is necessary to enable JavaScript. Here are the instructions how to enable JavaScript in your web browser.
Railsアプリの開発に bundler を使うようになって、gem 関連でハマることは少なくなったような気がします。ただ、その代わりに、なにかコマンドを叩くときに bundle exec をつけ忘れてエラーになることが時々あって、そんな時に少々めんどくさく感じます。bundle exec を省略できたらどんなに幸せでしょうか。 そんなわけで、 bundle exec を省略する方法をまとめたので紹介したいと思います。 rvm の gemset をアプリ毎に作って切り替える方法 下記のエントリに詳しくまとまっています。これの通りにやれば bundle exec から解放されるのは間違いないのですが、個人的にはアプリ毎に gemset を作るのは大げさな感じがします。 rvmのgemsetを使ってbundlerと賢く付き合う方法 - Hello, world! - s21g bundler-
やはり触れることになってしまった routes.rb。これを期に意味不明な部分を理解しよう。 勉強して得られた情報をメモ。 routes.rb にて生成される URL については rake routes コマンドにて確認できる。 記載する出力結果はすべて rake routes にて出力された結果です。 match(path, options={}) route 師弟の基本。アクセス可能な path を指定してやることで、HTTP リクエストを処理できるようになる。 match "foo/bar" # foo_bar /foo/bar(.:format) {:controller=>"foo", :action=>"bar"} path は必ず一つ以上 "/" を入れてやる必要がある。 match "foo" => NG match "foo/bar" => :controller=>"f
RubyGems.orgには登録しないプライベートなgemを作った場合、Railsプロジェクトからはどのように利用するか。 まず、Railsプロジェクトのvendor/gems以下にpkg/foo-1.0.0.gemを、展開する。 $ cd /path/to/some_rails_project $ gem unpack /path/to/foo-1.0.0.gem --target vendor/gems $ ls vendor/gems foo-1.0.0 次にGemfileに以下のようなエントリを追加する(:pathが相対パスだった場合は、Gemfileのあるパスが起点となる)。 gem 'foo', :path => 'vendor/gems/foo-1.0.0' この状態でbundleすれば、あとはbundlerが*.gemspecファイルを参照して上手いことやってくれる。 $
Railsでは、「データベースには時刻を標準時で格納しておき、 表示する際には指定したタイムゾーンで表示する」 という考え方を採用しています。ですので、時間を管理する際は、タイムゾーンを意識しなくてはなりません。 といっても、普段はモデルクラスさんが頑張って変換してくれているので、あんまり意識しなくてよいです。 タイムゾーンのセットは、 config/application.rb config.time_zone = 'Tokyo' で東京にセットされます。 そして、時刻データの格納時: modelInstance.time_at = Time.now.to_s(:db) とかしておけば、 DBデータ格納時に、UTC(世界標準時)/フォーマットは"YYYY-MM-DD hh:mm:ss" という形式でDBにデータが格納されます。 Viewでの表示時は: modelInstance.time
Ruby on Rails Guides: Action Mailer Basicsを読んでの自分用メモです。 Mailerを作る rails generate mailer UserMailer Mailer概要 defaultでmailメソッドのデフォルト引数を指定できる mailメソッドでmailを送る controllerと同じように、ここで定義したインスタンス変数はviewでも使える class UserMailer < ActionMailer::Base default :from => "notifications@example.com" def welcome_email(user) @user = user @url = "http://example.com/login" mail(:to => user.email, :subject => "Welcome to
The new validation methods in Rails 3.0 have been extracted out to Active Model, but in the process have been sprinkled with DRY goodness… As you would know from Yehuda’s post on Active Model abstraction, in Rails 3.0, Active Record now mixes in many aspects of Active Model, including the validates modules. Before we get started though, your old friends still exist: validates_acceptance_of validat
いつのまにか、Rails3+1.9.2というモテコンビで仕事をやっております。で、Rails3から入った新機能として、SexyValidationというのができたので、それを使ってみました。 Sexy Validationとは、いままでのRailsのvalidationの書き方とは違い、Modelに対してのvalidationがスッキリ書けるようになりました。例えば、titleカラムを持つPostというModelがあるときに、title要素は必須なんだというvalidationを書こうとすると、以下のようになります。 class Post < ActiveRecord::Base validates :title, :presence => true end 今迄の validates_presence_of :name よりわかりやすいのではないでしょうか。 独自のvalidationを
もういくつ寝ると 今年のはじめにやりたいことリストを作った。今見たら50項目あるリストのうち25個が達成済みだった。ちょうど半分やりたいことをやったということだ。私にしてはまあまあの結果だと思う。満足。 やりたいことリストにあるもののうち、「〜を食べたい」系は概ねクリアし…
鉢植えを愛す 決して何も無かったわけではないのだが、何かあった、と記録するには余りにも目まぐるしい日々である。彼との同棲を解消しようと思い立ち、引っ越し屋を予約して、翌る日には、やっぱり辞めた。手元には、届いてしまったがために買い取らざるをえなくなった新品のダン…
業務アプリでは CRUD 以外で必ずと言ってもいいほど実装する機能があります。検索です。 検索機能って、たいていはページの上部に検索フィールドがあって、入力して検索ボタンを押すとページの下部に検索結果が表示される。 こんなのばっかりです。 それを毎回ページ全体をゴリゴリ作るって疲れませんか? Rails で scaffold すると index は一覧表示になりますが、ここが検索になる画面のほうが圧倒的に多くないですか? というわけで、汎用検索機能(というか簡易フレームワーク)を作ろうってのが今回の趣旨です。 大体、検索機能で検索ごとに違うのは大まかには下記の三つでしょう。 ・検索フィールド ・検索ロジック ・結果表示(一行分) 極力この三点に注力できるようにしたい。 具体的には、検索条件は汎用的なコンテナクラスに格納する。 コンテナクラスは、検索条件だけを格納できるように form_fo
Rails3はSQLite3とPrototypeがデフォルトになっていますが、業務などで実際に扱う際はMySQLとjQueryを利用することが多いと思います。そこで個人的なアプリ作成手順が固まってきたので、一旦まとめてみます。調査/検証目的のアプリの想定で、テストの生成もしないようにしてます。 環境 Mac OS X Snow Leopard Ruby 1.9.2p0 (MacPorts) Rails 3.0.5 MySQL 5.5.8 (DMG Archive) アプリ作成 rails new sample -JT -d mysql -JオプションでPrototype生成スキップ -TオプションでTest::Unit生成スキップ -dオプションでデータベースMySQL指定 Gemfile、config/database.ymlがMySQL仕様になる gemはmysql2が利用される Ge
2011/07/07追記 実はこの記事の内容よりも以下のGuardを前提にした構築がおすすめ。 Rails3+RSpec2+Spork+Guard(guard-rspec,guard-cucumber)で最速のBDD(振舞駆動開発)環境を作る | Curiosity Drives Me Guard便利すぎです。 久々にRailsでできる仕事が来たので久々に環境構築。 記事の一番最後に挙げた参考の渡り歩きつつ設定した。 Rubyのバージョンは1.9.2。Railsは3.0.5。 プロジェクトの作成 $ rails new -T hoge RSpecを使うのでUnitTestはいらないということで。 Gemfile 必要なものをBundlerでさくっと入れる。 group :development, :test do gem 'spork', '~> 0.9.0.rc' gem 'rspec-
英語は苦手ですが、Rails 3 での変更を知りたかったのと和訳の練習を兼ねて訳してみました。 英語力がないのでかなり出来が悪いですが・・・ 公開するか迷いましたが、恥を晒します。 間違いなどがありましたらご連絡を頂けるとうれしいです m(_ _)m (追記) id:willnet さんも和訳をされていました。 実際にRailsを触っている方なので、内容も詳しく正確と思われます。 後編にも期待!! Rails 3.0 リリースノート和訳 - 前編 - おもしろWEBサービス開発日記 原文: Rails 3.0: Release Notes 1 Rails 2.3.5 から Rails 3 へのアップグレード いつものように、アップグレードの時はカバー率の高いテストスイートがあなたの味方です。 Rail3 にアップグレードする前に、まず最初に Rails2.3.5 にアップグレードし、アプリ
Web開発フレームワークとして人気の高いRuby on Railsの最新版、バージョン3を使ってWebアプリ開発の基本を学びます。 人気のフレームワークでWeb開発を学ぶ Ruby on Railsは、いまやWebアプリケーションの開発フレームワークの有力な選択肢の1つとなっています。Ruby以外の言語のWebアプリケーションフレームワークも少なからずRailsの影響を受けているので、現在Rubyを使っていないエンジニアにとっても、Railsを知ることは大いに参考になるはずです。もうすぐRails3認定試験が本格的に開始されるということもあり、この連載では、試験範囲の流れに沿って、Railsの基礎についてご紹介していきます(ただし、必ずしも試験対策というわけではありません)。 今回、連載第1回として本記事では、Railsを理解する上で基本となる考え方であるMVCについて説明した後、Rail
【最新刊】 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モジュールによる国際化、バリデーション、エラーメッセージの日本語化、など
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く