EDIT3:つまり、model.rbファイルに移行コードを入れないでください!!!
EDIT2:質問(?):移行コードはmodel.rbファイルに属しますか?
編集:誰かからこの質問への良い答えを得るために私が共有する必要がある追加の(system / config / etc)情報に言及するだけで(あなたでなくても)大歓迎です。(1-スタックオーバーフロー最適化戦略に関する優れたヒントのアップ)
まず、コマンドプロンプトのアクティビティは次のとおりです。
C:\Users\davo\Desktop\RailsProjects\simple_cms>rails c
Loading development environment (Rails 3.2.3)
irb(main):001:0> subject = Subject.find(1)
←[1m←[36mSubject Load (1.0ms)←[0m ←[1mSELECT `subjects`.* FROM `subjects` WHERE `subjects`.`id` = 1
LIMIT 1←[0m
=> #<Subject id: 1, name: "Initial Subject", position: 1, visible: true, created_at:"2012-05-18 01:00:26", updated_at: "2012-05-18 01:11:21">
irb(main):002:0> subject.pages
(Object doesn't support #inspect)
基本的なスキーマは、ここにpage.rbとsubject.rbの2つのモデルがあるということです。ご覧のとおり、SubjectはPageの親です。これが2つのモデルです。
このコードを表示するためのガイド:これら2つのモデルでこの問題に関連するのは、has_manyタグとbelongs_toタグだけだと思います。そして、私は認めます、私はここにいくつかの外部キーがあるべきだと感じています。ここに外部キーがあるべきですか?それともそれは間違っていますか?
subject.rb
class Subject < ActiveRecord::Base
# attr_accessible :title, :body
has_many :pages
scope :visible, where(:visible => true)
scope :invisible, where(:visible => false)
scope :search, lambda {|query| where(["name LIKE ?", "%#{query}%"])}
end
page.rb
class Page < ActiveRecord::Base
has_many :sections
belongs_to :subject
# attr_accessible :title, :body
create_table "Pages" do |t|
t.string "name"
t.string "permalink"
t.integer "position"
t.boolean "visible?"
end
end
本当に新しいので、必要な情報を提供しなかった場合はご容赦ください。必要な追加情報をお知らせください。エラーの原因はわかりませんが、これはモデル(M .... VC)の問題です。その1つで95%。