【发布时间】:2017-12-31 02:21:41
【问题描述】:
我从get_connection 得到一个带有 koala gem 的结果哈希,看起来像这样
=> [{"album"=>{"created_time"=>"2011-05-07T23:06:33+0000", "name"=>"Timeline Photos",
"id"=>"10150170707957371"}, "images"=>[{"height"=>1150, "source"=>"https://scontent.xx.fbcdn.net/v/t31.0-8/24173690_10155086191327371_1463889654041392146_o.jpg?oh=8adec503c6066dc20d1be5d71262a03e&oe=5AFEED4A",
"width"=>2048}, {"album"=>{"created_time"=>"2011-05-07T23:06:33+0000", "name"=>"Timeline Photos",
"id"=>"10150170707957371"}, "images"=>[{"height"=>1188, "source"=>"https://scontent.xx.fbcdn.net/v/t31.0-8/24302317_10155086179077371_4000719398736973936_o.jpg?oh=6eba399a4067b847cb38ef245e687321&oe=5AFC195A",
"width"=>2639}]}]
我希望像 rails 那样使用 params 哈希保存照片,但我意识到它只会为每张带有 do 块的照片创建一个图库。
def photos(user)
photos = user.facebook.get_connection("me", "photos?fields=album,images,event,height,width,link,place&type=uploaded")
photos.each do |photo|
params = { gallery: {
name: 'Facebook Pictures', pictures_attributes: [
{ fb_album_created_time: photo['album']['created_time'],
fb_album_name: photo['album']['name'],
fb_album_id: photo['album']['id'],
fb_source: photo['images'][0]['source'],
fb_height: photo['images'][0]['height'],
fb_width: photo['images'][0]['width'],
fb_link: photo['link'],
fb_pic_id: photo['id'] }
]
}
}
gallery = user.galleries.new(params[:gallery])
gallery.save!
end
end
如何执行我的嵌套图片属性,以便将它们保存到一个画廊。甚至可以帮助我的宝石。我正在查看 rails/jbuider gem,但不确定没有 gem 是否更容易?
【问题讨论】:
-
您有
User、Gallery和Picture型号吗?Gallery模型有很多图片并接受它们的嵌套属性吗? -
是的,一切都正确保存。我只是在看 jbuilder gem,它说你可以提取属性,所以只需检查 atm。
标签: ruby-on-rails json ruby jbuilder