我需要一个api密钥来保存用户,我需要一个user_id来保存api_key ......我可以同时做两个吗?
user.api_key = ApkiKey.generate_token
user.save
user.api_key.user_id = user.id
user.api_key.save
答案 0 :(得分:2)
如果api_key
与belongs_to
有user
的关系,那么以下内容将有效
user.api_key = ApkiKey.generate_token
user.api_key.user_id = user.id
user.save
user.save
也会触发user.api_key.save
答案 1 :(得分:1)
我最终做了以下事情:
#api_key.rb
before_create :generate_access_token
def generate_access_token
begin
self.access_token = SecureRandom.hex
end while self.class.exists?(access_token: access_token)
end
#user.rb
before_create do |user|
user.api_key = ApiKey.create(user_id: user.id)
end
问题是我在创建用户之前不认为我可以访问user.id,但显然它可以工作。感谢@Hardik的抬头