我有一个模型,它被称为Scripts
它has_many => Pages
因此,Page belongs_to => Scipts
我删除了一个页面对象,现在运行Script.pages
时,第一个值是nil
(幸运的是它是第一个值,因为如果没有,我没有别的方法来引用它,因为它有没有ID)
我需要destroy
nil
值,因为它因nil
而破坏我的应用但是,运行Script.pages.first.destroy
会返回:
NoMethodError: undefined method `destroy' for nil:NilClass
哪个有道理。现在,我需要知道如何从我的页面集中获取这些损坏的数据。
有没有办法做到这一点?谢谢!
答案 0 :(得分:0)
在这里你Array.compact:
const url1 = `https://api.tokenbalance.com/token/${token}/${address}`;
const url2 = 'https://api.etherscan.io/api?module=stats&action=ethprice';
fetch(url1)
.then(data1 => fetch(url2))
.then(data2 => /* do stuff with data1 and data2 */)
.catch(error => /* handle errors */);
您还可以尝试使用ActiveRecord::Relation.reload重新加载您的收藏集:
Script.pages.compact.first.destroy
答案 1 :(得分:0)
你没有任何网页。 0 == script.pages.count
将返回true
。 .first
方法在空数组上返回nil
。 assert [].first.nil?
将通过。