所以我试图获取我的数据库对象的updated at
属性,但它不起作用。我可以获取其他属性,但不能获取updated_at
或created_at
属性。我也注意到我也无法获得id
属性。似乎我在Pocket.new
中未声明的任何内容都不存在。这是我的代码:
顺便说一下,我没有使用rails。我正在使用sinatra-activerecord
和sinatra
。
class Pocket < ActiveRecord::Base
def retrieve(consumer_key)
url = "get/"
pocket_url = join_url(url)
# time = Time.now.to_i
token = self.token
puts consumer_key
puts self
puts time = self.updated_at #.to_i this is where it happens.
options = {
:access_token => token,
:consumer_key => consumer_key,
:since => (time if defined? time)
}
hello = RestClient.post pocket_url, options
# JSON.parse(hello)
end
get '/auth/pocket/callback' do
[…]
pocket = Pocket.new(token: @token, user: @user)
class CreatePocket < ActiveRecord::Migration
def up
create_table :pockets do |t|
t.string :user
t.string :token
t.timestamps
end
end
def down
drop_table :users
end
end
答案 0 :(得分:2)
id
,created_at
和updated_at
将为nil
,这就是您只需调用.new
和尚未保存对象。
一旦您致电.save
,我们就会发送这些属性(假设没有验证错误)。
实际上并非100%正确。 updated_at
不会在第一次创建/保存时设置,但会在后续保存时设置。