Model に Application を挟むと… ― 2007年11月02日 13時52分47秒
% cat app/controllers/todo.rb
class TodoController < ApplicationController
end
それに引き替え、モデルはそうなっていない。Rails の ActiveRecord を継承する形になっている。
% cat app/models/todo.rb
class Todo < ActiveRecord::Base
end
同じ、似たようなデータベース処理を複数のデータベースで行なう場合は、是非、基幹クラスに関数として実装し、あちらこちらで使い回してみたくなる。ところが、モデルでそのような事を出来るといった記述が見つからない。しかし、出来ないとの情報もない。そこで、試した。
% cat app/models/todo.rb
class Todo < Application
end
% cat app/models/application.rb
class Application < ActiveRecord::Base
end
使えなかった。Todo.find などとやっても、Application というテーブルにデータを探しにいってしまう。違うテーブルに行なえる同一処理を、一つの基幹クラスの関数にする目論見はつい果てた。
最近のコメント