-1
我想加入到timmings
表,但记录Timming.where(:in => in)
没有得到其他值是其存储为预期返回t.in
为nil
有人请告诉我为什么发生这种情况。导轨插入一行到表中未成功发生
这是我的表架构:
create_table "timmings", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1" do |t|
t.string "in"
t.integer "bus_type"
t.bigint "provider_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "route_id"
t.index ["provider_id"], name: "index_timmings_on_provider_id"
end
Rails的控制台:
t = Timming.new
=> #<Timming:0x00558be5e2c108 id: nil, in: nil, bus_type: nil, provider_id: nil, created_at: nil, updated_at: nil, route_id: nil>
[250] pry(main)> t.in = Time.now.to_s
[251] pry(main)> t.provider_id = 1
=> 1
[252] pry(main)> t.route_id = 1
=> 1
[253] pry(main)> t.save
(0.4ms) SAVEPOINT active_record_1
Provider Load (0.6ms) SELECT `providers`.* FROM `providers` WHERE `providers`.`id` = 1 LIMIT 1
Route Load (0.5ms) SELECT `routes`.* FROM `routes` WHERE `routes`.`id` = 1 LIMIT 1
SQL (0.6ms) INSERT INTO `timmings` (`provider_id`, `created_at`, `updated_at`, `route_id`) VALUES (1, '2017-07-29 08:06:46', '2017-07-29 08:06:46', 1)
(0.3ms) RELEASE SAVEPOINT active_record_1
=> true
现在,当我打印t
:
id: 18,
in: nil,
bus_type: nil,
provider_id: 1,
created_at: Sat, 29 Jul 2017 08:06:46 UTC +00:00,
updated_at: Sat, 29 Jul 2017 08:06:46 UTC +00:00,
route_id: 1>
谁能告诉我怎么回事错在这里?
我改名是coulmn但还是没能经过一番搜索我已经定义attr_accessor:在[后来我改的..]我删除从马模型,行,我可以能够写入该元素,但仍然困惑什么它出问题访问器 –
@AniketKudale我已经更新了我的答案,所以你可以理解为什么你不能保存在数据库中的值。 – Deep