-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