Ruby Rails Rake任务:语法错误,意外'\n';,期待tASSOC
我的rake任务中有以下代码:Ruby Rails Rake任务:语法错误,意外'\n';,期待tASSOC,ruby,Ruby,我的rake任务中有以下代码: variables[:hotels].push( { :id => offering.ID, :name => offering.vendor.Name, :placing_name => offering.Name, My::Media::Account.find_by_guid(offering.VendorID).photos.each do |p| :hotel_images.push({ :id =&
variables[:hotels].push(
{
:id => offering.ID,
:name => offering.vendor.Name,
:placing_name => offering.Name,
My::Media::Account.find_by_guid(offering.VendorID).photos.each do |p|
:hotel_images.push({
:id => p.id,
:image => p.image,
:url => "http://m.website.com/uploads/photo/image/#{p.id}/#{p.image}"
})
end #there is an error
})
当我试图运行它时,我得到一个错误
语法错误,意外的'\n',期望终端中出现tASSOC
。它指向最后一个结尾
。我在哪里犯了错误?谢谢 您不能在那里插入可执行代码。Ruby希望看到您正在定义的哈希中的下一个键,而不是一块代码。你也不能用那种方式把推到一个符号上,:hotel\u images.push({
永远不会起作用
如果希望:hotel_images
映射到数组,则需要将键移到循环外部,并使用映射
,而不是使用每个:
variables[:hotels].push(
{
:id => offering.ID,
:name => offering.vendor.Name,
:placing_name => offering.Name,
:hotel_images => My::Media::Account.find_by_guid(offering.VendorID).photos.map do |p|
{
:id => p.id,
:image => p.image,
:url => "http://m.website.com/uploads/photo/image/#{p.id}/#{p.image}"
}
end
})
虽然这在语法上不“正确”,但会导致性能方面的问题。因为这似乎是在循环中发生的,所以您应该使用包含来包含照片关联,并且您应该只选择感兴趣的属性