EDIT3:也就是说,不要将迁移代码放在你的 model.rb 文件中!!!
EDIT2:问题(?):任何迁移代码都属于 model.rb 文件吗?
编辑:只要提到我需要分享的额外(系统/配置/等)信息,以便从某人(即使不是你)那里得到这个问题的一个很好的答案,将不胜感激。(1-ups 以获得关于堆栈溢出优化策略的好技巧)
首先,这是命令提示符活动:
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。如您所见,主题是页面的父级。这是两个模型。
查看此代码的指南:我认为这两个模型中与此问题相关的所有内容都是 has_many 和 belongs_to 标签。我承认,我觉得这里应该有一些外键。这里应该有外键吗?或者这也是错误的?
主题.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
页面.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)问题。那个95%。