проблема в вашем последнем запросе
urlcr=Domainurl.find_by_sql ["SELECT * FROM `domainurls` WHERE `domaindetail_id` = ? AND `count` = ?",cnt.count]
вы пытаетесь найти что-то по 2 параметрам (domaindetail_id
и count
), но вы предоставляете только count
.(вы также должны предоставить domaindetail_id)
urlcr=Domainurl.find_by_sql ["SELECT * FROM `domainurls` WHERE `domaindetail_id` = ? AND `count` = ?",@domain.id, cnt.count] #observe that I added @domain.id
Вы можете переписать это как
cnt = Domainurl.where(:domaindetail_id => @domain.id).maximum(:count) # this returns a number
urlcr=Domainurl.where("domaindetail_id = ? AND count = ?", @domain.id, cnt)