Rails4 でフォントを追加し、ローカルの production モードで使用する
フォント指定をした fonts.css.scss.erb を app/assets/stylesheets/ 以下に配置する。 @charset "utf-8"; @font-face { font-family: ‘font_name’; src: url(‘<%= asset_path "font_name.ttf" %>’) format(…続きを読む
フォント指定をした fonts.css.scss.erb を app/assets/stylesheets/ 以下に配置する。 @charset "utf-8"; @font-face { font-family: ‘font_name’; src: url(‘<%= asset_path "font_name.ttf" %>’) format(…続きを読む
rbenv で Ruby 環境を構築し、bundler で Rails プロジェクト内に Rails をインストールする方法のメモ。 rbenv による Ruby 環境の構築については『Mac OSX で rbenv と ruby-build を使って Ruby をインストールする』。 一旦 Rails プロジェクト作成(rails new)用の Rails をインストールする Gemfile で…続きを読む
Rails プロジェクトのディレクトリで以下のコマンドを実行すると、利用できる rake タスク一覧が表示される。 $ rake –tasks (in /home/hoge/rails_project) rake db:abort_if_pending_migrations # Raises an error if there are pending migrations rake db:cha…続きを読む
Rails でのユニットテストはモデルに対するテストのこと。 テストの雛形ファイルが generate コマンドによるモデル作成時(scaffold による生成時など)に作成される。 テスト用データベースの準備 テスト用のデータベースにスキーマを設定するために、開発用のデータベースのスキーマをコピーする。 $ rake db:test:prepare ユニットテストの実行 ruby の -I オプ…続きを読む
コントローラのメソッドの respond_to ブロックに CSV フォーマットによるレンダリングを追加する。 respond_to do |format| format.html format.csv { render :csv => @data } end CSV 出力のビュー (index.csv.erb, show.csv.erb) を作成する。 <% require ‘csv…続きを読む
Ruby on Rails で多数の結果を分割して表示するページ送り(ページネーション)を行う方法のメモ。 以前の Rails では標準でページ送り機能が使えたようだが、Rails 2.0 以降はプラグインのインストールが必要になったらしい。 そこで、will_paginate というプラグインを使ってみる。 インストールは git から。 インストール後、プラグインを有効にするために WEBri…続きを読む
Ruby on Rails でアイテムをデータベースから削除する際に、そのアイテムのデータを利用している関連項目が存在するかを事前にチェックして、不用意に削除してしまわないようにする。 class ItemsController < ApplicationController before_filter :account_has_item?, :only => :destroy # 省…続きを読む
I18n generators でロケールファイルを自動生成して、プロジェクトの日本語化(多言語化)を行う。 I18n generators をインストール gem で git リポジトリからインストールする。 $ sudo gem source -a http://gems.github.com http://gems.github.com added to sources $ sudo gem…続きを読む
商品テーブル products にロケールの列 locale を追加するマイグレーションを作成する。 $ ruby script/generate migration add_locale_to_product locale:string exists db/migrate create db/migrate/20100329045143_add_locale_to_product.rb マイグレ…続きを読む
XMLレスポンスで商品カタログ配信 store コントローラの index メソッドで XML レスポンスを返すように変更する。 app/controllers/store_controller.rb の index メソッド の respond_to ブロック内で format.xml により XML レスポンスを返させる。 respond_to do |format| format.html …続きを読む