我正在尝试将外部值从BitBucket保存到我的Rails应用程序然后在视图中返回它们(我是数据库的新手),所以如果有人可以帮助我,我会非常感激。
我在我的控制器中从BitBucket返回了API调用,因此它运行良好..然后我创建模型 bitbucket name:string message:text date:integer
所以现在我把它放到 bitbucket.rb
模型中:
class Bitbucket < ActiveRecord::Base
def saveData
require 'bitbucket_rest_api'
bitbucket = BitBucket.new login:'...', password:'...'
repo = bitbucket.repos.commits.list '...', '...'
data = repo["values"]
data.each do |r|
r["author"]["user"]["display_name"]
r["message"]
DateTime.strptime(r["date"], '%Y-%m-%dT%H:%M:%S%z').strftime("%D %r")
end
end
end
这是我想要保存到DB中的第一个调用,然后我想将每个新提交保存到数据库中。
非常感谢。
答案 0 :(得分:2)
您应该像Ruby一样在Ruby中命名方法:save_data
,而不是saveData
。
您的方法应该是类方法,因为您没有在其中使用任何对象。
您可以使用create
或new
,save
链创建数据库条目。
这可能会有所帮助:
class Bitbucket < ActiveRecord::Base
def self.save_data
require 'bitbucket_rest_api'
bitbucket = BitBucket.new login:'...', password:'...'
repo = bitbucket.repos.commits.list '...', '...'
repo["values"].each do |r|
create(
name: r["author"]["user"]["display_name"],
message: r["message"],
date: DateTime.strptime(r["date"], '%Y-%m-%dT%H:%M:%S%z').strftime("%D %r")
)
end
end
end