RoR

Railsレシピ。

目次買い。Railsレシピ作者: Chad Fowler,長瀬嘉秀,永田渉,株式会社テクノロジックアート出版社/メーカー: オライリー・ジャパン発売日: 2006/12/19メディア: 大型本購入: 2人 クリック: 37回この商品を含むブログ (37件) を見る

rails.elのrails-run-sql。

Emacsのrails.elでC-c s sと入力するとconfig/database.ymlでのadapterを元にデータベースに接続しsql-modeになるようですが、DarwinPortsでMySQLをインストールすると、MySQLのコマンドはmysqlではなくmysql5となり、そのままでは接続できないので、 sudo l…

スニペットを弄る。

Railsの開発にCarbon Emacsを使っているのですが、こちらを参考に設定したところsnippetが便利。どういう機能かと言いますと、 raと入力しTabキーを押下すると render :action => "action"と展開され、"action"のところにカーソルが移動するのでレンダリング…

2冊目のRails本。

ライド・オン・Rails Ruby on Railsを徹底攻略作者: 吉田和弘,馬場道明出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/06/30メディア: 単行本 クリック: 52回この商品を含むブログ (88件) を見る購入。 パラパラッと見たところ、Webサービスとの…

lighttpdを使ったら文字化けした。

その対策。 app/controllers/application.rbに before_filter(:set_charset) def set_charset @headers["Content-Type"] = "text/html; charset=utf-8" endとして解決。

Ajaxのテスト。

xhr(:post, :search, :title => 'ああ')searchアクションにpost。titleはパラメータ。

よーしAjaxを使っちゃうぞ。

Ajaxでサーバと通信をしたい場合、該当のページに <%= form_remote_tag(:update => "results", :url => {:action => :search}) %> <p> <%= text_field_tag(:title) %> <%= submit_tag('検索') %> </p> <%= end_form_tag %> <div id="results"> </div>こんな感じのを追加する。ここでは検索処…

同じ処理をいろんなところで実行する。

長かった夏休みも今日で終わり。どんな夏休みでしたかと問われたら「酒とRailsな夏休み」と答えよう。 というわけで本題。 同じ処理をいろんなところで実行させたい欲求は至極当然。そんな場合はapp/controllers/applicaiton.rbに before_filter(:メソッド名…

トップページを変更する。

public/index.htmlを削除した上でconfig/routes.rbを map.connect('', :controller => 'account', :action => 'login')のようにすると、http://localhost:3000にアクセスした際、accountコントローラのloginアクションが表示されるようになる。

ちょっとしたモデルのテスト。

script/consoleと実行すると Loading development environment. >>こんな状態になるので モデル名.methodsと入力してメソッドの一覧を取得したり、そのモデルが持っているメソッドを実行することが出来るので、ちょっとしてテストには最適。

リレーションの設定

Railsでテーブルのリレーションができるなんてビックリだ。 おまけにちょー簡単。またもやテレビショッピングの外人司会者が出てきて「こんなに簡単なんて信じられるかーい、ジョン」 1:1の場合 どちらか一方のテーブルに『テーブル名の単数形』_idというフ…

データを更新する。

# idから更新対象のデータを取得 @group = Group.find(params[:id]) # パラメータを元に更新 @group.update_attributes(params[:group])findメソッドは Group.find(1, 2, 3)のように複数のidを渡したり、 Group.find(1, :conditions => "name = ?'aaa?'", :o…

データを新規作成する。

# パラメータを元にモデルのインスタンスを新規に作成 @group = Group.new(params[:group]) # データを保存 # すでに存在するデータの場合は更新するようだ @group.saveparamsにはPOST、GETで渡されたパラメータがHash形式で格納されている。値は全てString…

ローカルでマニュアルを参照する。

$ gem_serverと実行しWebブラウザからhttp://localhost:8808/にアクセスするとgemでインストールしたパッケージの一覧と、存在するのならrdoc形式のマニュアルを参照することが出来る。 ネットワークに繋がっているのなら、こちらの方がインクリメンタルサー…

テスト!テスト!テスト!

テストの基本的なことがやっとわかってきた。本を写経したお陰だ。写経の効果、侮り難し、ドラクエのレベルアップ音が2回くらい鳴った。 テストは大きく分けて二つのパターンがある。 表示するだけのページのテスト データ更新するページのテスト 表示するだ…

ヘッダ、フッタ、フォームの見た目を変更する。

この動画を今更ながら見たら、妙にやる気が出てきたので、飲みに行ってヘロヘロだけど今日やったことをまとめる俺格好良い。 ヘッダとフッタ app/views/layouts/テーブル名.rhtmlを編集 はスタイルシートを指定している stylesheet_link_tagにはpublic/style…

rails.elのキーバインド

Railsでの開発に当たって、rails.elを使い始めたのですがキーバインドが覚えられないのメモメモ。 主に使うのはrails-nav系、今のところは。 キー 機能 C-c g m rails-nav:goto-models C-c g c rails-nav:goto-controllers C-c g h rails-nav:goto-helpers C…

入力内容のチェック。

まずは何処に書くかっていうところですが、モデル側でチェックをするとのことで、app/models/モデル名.rbを編集する。 class Schedule < ActiveRecord::Base def validate unless attribute_present?('title') errors.add('title', '入力されていません') en…

一覧画面をカスタマイズする。

ハー、疲れた。MySQLの文字コードを適切に設定していなかったので、文字化けを起こしてしまった。修行が足りない。 憂さ晴らしに一覧画面をカスタマイズしてみる。 app/controllers/schedules_controllers.rbを編集し、listメソッド内で使用しているpaginate…

画面を作ってみる。

とりあえず画面を作ってみる。 $ script/generate scaffold Scheduleと実行する。ScheduleはRubyのモデル名なので大文字で。 exists app/controllers/ exists app/helpers/ exists app/views/schedules exists test/functional/ dependency model exists app…

テーブルをゴニョゴニョする。

本の内容をすっ飛ばして、気になって仕方がないテーブル操作をいろいろとやってみる。 商品を管理するproductsというテーブルを作ろう。 $script/generate migration create_productsdb/migrate/001_create_products.rbというファイルが作成されるので、それ…

Ruby on Railsをアップデート。

Ruby on Railsに危険なセキュリティ・ホール,最新版1.1.5へアップグレードを | 日経 xTECH(クロステック) こんな記事が。 というわけでRuby on Railsをアップデート。 まずは必要かどうかを確かめるため、バージョンを確認。 $rails -v Rails 1.1.4要アッ…

database.ymlを簡潔に書く。

こちらを参考にdatabase.ymlを書き直した。 scheduler: &scheduler adapter: mysql username: rails password: host: localhost socket: /opt/local/var/run/mysql5/mysqld.sock encoding: utf8 development: database: scheduler_development <

テーブルを作ろうとしたら。

Ruby on Railsってデータベースにテーブルも作れるんだぜぃ、ちょーすげー、と喜び勇んでconfig/database.ymlを設定し、 script/generate migration create_schedulesでスクリプトのひな形を作成し、そこから定義を書いて cd ~/scheduler rake db:migrateと…

プロジェクトを作る。

Ruby on Railsのプロジェクトを作る。プロジェクトは何だろう、1つのアプリケーションのようなイメージだろうか。 その前にMySQLをごにょごにょ。rootにパスワードを設定していなかった、不用心だ。設定する。 mysqladmin5 -u root password 'password';続い…

MacにRuby on Railsをインストール。

MySQLも無事にインストールできたことなので、先日購入した本を参考にしつつ、MacらしくDarwinPortsを使ってRuby on Railsをインストールしてみる、えいえいおー。 まずはOSに始めから入っているRubyはバージョンが古いので最新版を入れる。 sudo port insta…