使用型号
class Car < ActiveRecord::Base
attr_accessor :model,:edition
attr_accessible :model,:edition
has_many :wheels
end
class Wheel < ActiveRecord::Base
attr_accessor :type,:tubeless
attr_accessible :type,:tubeless
belongs_to :car
end
创建操作
irb(main):009:0> bnz = Car.create :model=>"BENZ" , :edition=>2011
=> #<Car id: 5, model: nil, edition: nil, created_at: "2011-08-26 09:08:08", upd
ated_at: "2011-08-26 09:08:08">
Problem:上面成功创建了记录,但我的 :model 和 :edition 值未发送到数据库。仅 id、created_at、updated_at 值在数据库中创建。
更新操作
irb(main):010:0> fifth = Car.find(5)
irb(main):011:0> fifth.update_attributes(:edition=>2011, :model=>"BENZ")
=> true
irb(main):012:0> fifth.update_attributes!(:edition=>2011, :model=>"BENZ")
=> true
irb(main):013:0> fifth.update_attributes!(:edition=>2012, :model=>"BENZ")
=> true
irb(main):014:0>
Problem:这里什么也没发生。在development.log中,仅触发选择语句,不触发更新语句
我正在使用 sqlite 数据库。使用 sqlite manager firefox 插件查看数据库表。
刚接触rails,感谢帮助。