Rails初心者はこちら。
次の列を持つコメントテーブルでは制御できないレガシーsqlite3データベースがあります。
ID-主キー
BOOK-外部キー
TEXT-コメントと本の要約を含むフィールド
私は以下のようなComment(Bookで1-1にマッピングされた)と呼ばれるRails3.2.1モデルを持っています:
class Book < ActiveRecord::Base
has_many :datum, :foreign_key => "book"
has_one :comment, :foreign_key => "book"
@@basepath = "#{Rails.root}/public/share"
def get_filepath
return "#{@@basepath}/#{path}"
end
def get_summary
@comment.text
end
end
私の見解では、私はこのようなものを持っています:
<td><%= book.get_summary %></td>
しかし、ページを試してみると、nil:NilClassの未定義のメソッド`text'が表示されます
「テキスト」はRailsの予約語のようです。私の推測では、これはレールがそれを適切に評価するのを妨げていると思います。
エラーの私の解釈は正しいですか?もしそうなら、どうすればRailsに「text」フィールドに「comment_text」のような別の名前を付けることができますか?
よろしくお願いします。
PS私はすでにhttp://www.engineyard.com/blog/2011/using-datamapper-and-rails-with-legacy-schemas/を見ましたが、私の問題がこれに類似しているかどうかはわかりません。