我创建了扩展ActiveRecord的Class“ClassA”。我在db:migrate中添加了字段“text”。在我的控制器中,我打电话给:
class_a_instance = ClassA.new(:text => "bite me")
puts class_a_instance.text
class_a_instance.inspect
class_a_instance.save
前两行很好。使用文本“咬我”创建新类a。 puts命令有效。但是,在调用inspect时,文本字段将打印为null。保存操作也会将文本字段作为null提交到数据库。 class_a_instance被定义为另一个类(ClassUser)内的局部变量。
class_a的Schema.rb
ActiveRecord::Schema.define(:version => 20111013231426) do
create_table "class_as", :force => true do |t|
t.string "text"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "num_users"
t.integer "num_events"
t.integer "num_events_completed"
end
使用MySQL2驱动程序。 Ruby 1.9。 Rails 3.1。我只学习了3周的rails,所以bug可能非常简单。 (以前是java程序员)
谢谢!
答案 0 :(得分:0)
class_a_instance被定义为另一个类(ClassUser)中的局部变量
等等你想说ClassUser has_one还是has_many ClassA?
我认为你需要一种关系。首先,在class_as的模式中添加class_user_id整数,然后将关系放在类中:
ClassUser中的:has_one
或has_many
:belongs_to
ClassUser
有很多资源可以提供帮助,google为“rails relations tutorial”