我在 json
中获取数据以在我的 webapp 中创建,就像这样
response.each do |article|
title = article['title']
url = article['url']
content = article['content']
image_url = article['image_url']
source = article['source']
created_at = article['created_at']
twitter_share = article['twitter_share']
facebook_share = article['facebook_share']
pocket_share = article['pocket_share']
article = Article.new(title: title, url: url, image_url: image_url, content: content, created_at: created_at, source: source,
twitter_share: twitter_share, facebook_share: facebook_share, pocket_share: pocket_share)
if article.save
puts article.title
end
end
如你所见,有很多重复,我该如何优雅地减少这些重复?
最佳答案
文章似乎是一个散列,所以你可以简单地做
response.each do |article|
article = Article.new(article)
if article.save
puts article.title
end
end
如果文章包含其他属性,您可以删除它们:
allowed = ['title', 'url', 'source']
response.each do |article|
article = Article.new(article.slice(*allowed))
if article.save
puts article.title
end
end
关于ruby-on-rails - rails : elegantly reduce duplication when using json to create objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31294455/