Ruby on rails 4 无法更新Rails中的属性值
Ruby on rails 4 无法更新Rails中的属性值,ruby-on-rails-4,rails-activerecord,Ruby On Rails 4,Rails Activerecord,键模型具有以下迁移 class CreateKeys < ActiveRecord::Migration def change create_table :keys do |t| t.string :value t.integer :alive_time t.integer :block_time t.timestamps null: false end end end 我在rails控制台中尝试了一些变体: 运行
键
模型具有以下迁移
class CreateKeys < ActiveRecord::Migration
def change
create_table :keys do |t|
t.string :value
t.integer :alive_time
t.integer :block_time
t.timestamps null: false
end
end
end
我在rails控制台中尝试了一些变体:
运行:Key.find(10).更新属性({:block\u time=>time.now.to\u i})
原因:更新“键”设置“值”=?,“活动时间”=?,“更新时间”=?其中“键”。“id”=?
正在运行的SQL将更新活动时间
,但不会更新块时间
为什么??我如何确保正确的行为
编辑
schema.rb
内容:
ActiveRecord::Schema.define(version: 20150708123716) do
create_table "keys", force: :cascade do |t|
t.string "value"
t.integer "alive_time"
t.integer "block_time"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
您是如何获得可用密钥的?@Pavan
@available\u keys=Key。其中(:block\u time=>0)
请提供您的实际schema.rb文件。@hedgesky更新的问题非常奇怪。似乎block\u time
属性以某种方式重新定义为actual\u time
。模型中有没有改变默认行为的方法?我想没有,但谁知道呢。。。
ActiveRecord::Schema.define(version: 20150708123716) do
create_table "keys", force: :cascade do |t|
t.string "value"
t.integer "alive_time"
t.integer "block_time"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end